Page 1 of 6

Classic_vip NEW V0.3

Posted: 03 Jul 2013, 21:24
by alkaline
Descriere: Acest plugin Este unul pentru vip Classic : Va las sa va convingeti

PS : Daca tot il descarcati dati si voi un MULTUMESC :)
Image

V0.3
Downlaod Resursele
SMA | Afiseaza codul
#include <amxmisc>
#include <engine>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>

#define CLASSIC_VIP ADMIN_LEVEL_H // Flagul "t"

#define WEAPON_SECRETCODE 4962
#define SCOREATTRIB_DEAD (1<<0)
#define SCOREATTRIB_VIP (1<<2)

//#pragma semicolon 1;

new w_m4_gold[66] = "models/w_m4a1gold.mdl";
new w_ak_gold[66] = "models/w_golden_ak47.mdl"
new w_de_gold[66] = "models/w_g_deagle.mdl";
new w_th_gold[66] = "models/w_thompson_gold.mdl";
new w_mp_gold[66] = "models/w_mp5g.mdl";

new VMdl[][] = {
	
	"models/v_golden_m4a1.mdl",
	"models/v_golden_ak47.mdl",
	"models/v_golden_deagle.mdl",
	"models/v_thompson_gold.mdl",
	"models/v_mp5g.mdl"
}

new PMdl[][] = {
	
	"models/p_golden_m4a1.mdl",	
	"models/p_golden_ak47.mdl",
	"models/p_golden_deagle.mdl",
	"models/p_thompson_gold.mdl",
	"models/p_mp5g.mdl"
}
new const PARACHUTE[] = "models/parachute.mdl"

const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);
const PRIMARY_WEAPONS_BIT_SUM = 
(1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
new Float:gPunchAngle[3] = { 0.0, 0.0, 0.0 };

new jumpnum[33] = 0;
new bool:dojump[33] = false;
new bool:has_parachute[33],para_ent[33], pDetach, pFallSpeed, pEnabled;
new m_spriteTexture,cvar_goldbullets, maxplayers, gmsgSayText,pCvarSpawn,pcvarSpawnWeap,bullets[ 33 ];
new NoRec;
new bool: gAkg[33],gM4a1g[33],gDglg[33],gThm[33],gmp5[33],alkaline[69];
new // CVAR :
gSHealth,gSArmor,cvar_goldbullets_allWeap,g_bonus_kill, g_bonus_kill_hs, g_bonus_kill_knife,
gShowVipC,gVipinScore;

public plugin_init( ) {

	register_plugin( "Classic VIP", "v0.3", "alkaline aka lucy");

	RegisterHam( Ham_Spawn, "player", "PlayerSpawn", true);
	RegisterHam( Ham_TakeDamage, "player", "Player_TakeDamage" );

	register_event( "CurWeapon", "Weaponcr", "be", "1=1" );
	register_event( "CurWeapon", "make_tracer", "be", "1=1", "3>0");
	register_event( "DeathMsg", "Bonus", "a", "1>0");
	register_event( "ResetHUD", "newSpawn", "be" );
	register_event( "DeathMsg", "death_event", "a" );

	register_message(get_user_msgid("ScoreAttrib"),"MessageScoreAttrib" );

	register_forward(FM_SetModel, "fw_SetModel_m4a1");
	register_forward(FM_SetModel, "fw_SetModel_ak47");
	register_forward(FM_SetModel, "fw_SetModel_deagle");
	register_forward(FM_SetModel, "fw_SetModel_thompson");
	register_forward(FM_SetModel, "fw_SetModel_mp5");

	register_clcmd( "say /arme", "ArmeVip", CLASSIC_VIP );
	register_clcmd( "say_team /arme", "ArmeVip", CLASSIC_VIP );

	register_clcmd( "say /vreauvip", "ShowMotd");
	register_clcmd("say", "handle_say");

	// Cvar

	pCvarSpawn = register_cvar("cv_spawn_menu", "1"); // apare  menu la respawn pentru vipi ? 1 -da 0 nu
	pcvarSpawnWeap = register_cvar("cv_spawn_weap", "1"); // ramane arma la fiecare spawn ? 1-Da . 0-OFF

	gShowVipC = register_cvar("cv_show_vip_connect","1"); // Show Vip Connect/connected / disconnect
	gVipinScore = register_cvar("cv_show_vip_tabscore", "1"); // Show VIP in TabScore ?
	register_cvar("cv_maxjumps", "1" ); // Nr de sarituri 0 - Oprit

	cvar_goldbullets = register_cvar("cv_gold_bullets", "0") // Gloantele golden 1- ON | 0- OFF
	cvar_goldbullets_allWeap = register_cvar("cv_gold_bullets_all_weap", "1") // Gloantele golden la toate armele ?


	gSHealth = register_cvar("cv_spawn_health", "50"); // Hp la fiecare Spawn
	gSArmor = register_cvar("cv_spawn_armor", "50"); // AP la fiecare spawn

	g_bonus_kill = register_cvar("cv_b_kill", "5"); // Hp Bonus pe kill
	g_bonus_kill_hs = register_cvar("cv_b_kill_hs", "10"); // Headshot Hp Bonus pe kill
	g_bonus_kill_knife = register_cvar("cv_b_kill_knife", "15"); // knife Hp Bonus pe kill


	pEnabled = register_cvar( "cv_sv_parachute", "1" ); // parachuta activata pe server ?
	pFallSpeed = register_cvar( "cv_parachute_fallspeed", "45" ); //Fall speed
	pDetach = register_cvar( "cv_parachute_detach", "1" ); //Don't change

	//

	maxplayers = get_maxplayers();
	gmsgSayText = get_user_msgid("SayText");

}

public client_connect(id)
{
	parachute_reset(id);
	user_connect(id);
}

public client_putinserver(id)
{
	gAkg[id] = false;
	gM4a1g[id] = false;
	gDglg[id] = false;
	gThm[id] = false;
	gmp5[id] = false;

	jumpnum[id] = 0;
	dojump[id] = false;
	user_connected(id);
}

public client_disconnect(id)
{
	gAkg[id] = false;
	gM4a1g[id] = false;
	gDglg[id] = false;
	gThm[id] = false;
	gmp5[id] = false;

	jumpnum[id] = 0;
	dojump[id] = false;
	parachute_reset( id );
	user_disconnect(id);
}

public PlayerSpawn(id) {

	if(is_user_alive(id) )	
	if(get_user_flags(id) & CLASSIC_VIP) {
		
	//give_item(id, "weapon_deagle"); 
	give_item(id, "weapon_knife");
	give_item(id, "weapon_hegrenade") 
	cs_set_user_bpammo(id,CSW_HEGRENADE,1);	//              
	give_item(id, "weapon_flashbang"); 
	cs_set_user_bpammo(id,CSW_FLASHBANG,1) // 
	give_item(id, "weapon_smokegrenade");
	give_spawn_armor_health(id);
	switch(get_user_team(id)){
		case 1,2: {
		switch(get_pcvar_num(pCvarSpawn)) {
			case 0: return 1;
			case 1: ArmeVip( id );
				}			
			}
		}
	}
	if(get_pcvar_num(pcvarSpawnWeap)==1){
	gAkg[id] = true;
	gM4a1g[id] = true;
	gDglg[id] = true;
	gThm[id] = true;
	gmp5[id] = true;

	alkaline[id] = 0
	NoRec=false;		
	}
	return 1;
}


public ArmeVip( id ) {
	if(get_user_flags(id)&CLASSIC_VIP){
	new menu = menu_create ( "\yGolden \rVIP \wMenu", "ArmeVipGiver" );

	if(user_has_weapon(id,CSW_M4A1)) {
		menu_additem( menu, "\dM4A1 + Deagle GOLDEN X2 DMG\r-Allready Have", "1", 0);
	}else
		menu_additem( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0);

	if(user_has_weapon(id,CSW_AK47)) {
		menu_additem( menu, "\dAK47 + Deagle GOLDEN X2 DMG\r-Allready Have", "2", 0);
	}else 	
		menu_additem( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0);
	
	if(user_has_weapon(id,CSW_P90)) {
		menu_additem( menu, "\dThompson + Deagle \yGOLDEN X2 DMG\r-Allready Have", "3", 0);
	}else
		menu_additem( menu, "\wThompson + Deagle \yGOLDEN \r X2 DMG", "3", 0);

	if(user_has_weapon(id,CSW_MP5NAVY)) {
		menu_additem( menu, "\dMP5 + Deagle GOLDEN X2 DMG\r-Allready Have^n", "4", 0);
	}else 
		menu_additem( menu, "\wMP5 + Deagle \yGOLDEN \r X2 DMG^n", "4", 0);

	new szmenu[ 69 ];
	formatex( szmenu, 68, "\wNo Recoil : %s ", ( alkaline[id] ? "\rDezactiveaza" : "\rActiveaza" ) );
	menu_additem( menu, szmenu, "5" );

	menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display( id, menu, 0 );
	return 1;
	}
	return 1;
}

public ArmeVipGiver( 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:
		{
			drop_weapons(id, 2);
			if(!user_has_weapon(id,CSW_M4A1)){
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
			gM4a1g[id] = true;
			gDglg[id] = true;
			Color( id,"^4[VIP]^1Ai Primit M4A1 + Deagle ^3Golden ^4!");
			}
		}
		case 2:
		{
			drop_weapons(id, 2);
			if(!user_has_weapon(id,CSW_AK47)){
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
			gAkg[id] = true;
			gDglg[id] = true;
			Color( id, "^4[VIP]^1Ai Primit AK47 + Deagle ^3Golden ^4!");
			}			
		}
		case 3:
		{
			drop_weapons(id, 2);
			if(!user_has_weapon(id,CSW_P90)){
			give_item(id, "weapon_p90");
			cs_set_user_bpammo(id, CSW_P90, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
			gThm[id] = true;
			gDglg[id] = true;
			Color( id, "^4[VIP]^1Ai Primit Thompson + Deagle ^3Golden ^4!");
			}
		}
		case 4:
		{
			drop_weapons(id, 2);
			if(!user_has_weapon(id,CSW_MP5NAVY)){
			give_item(id, "weapon_mp5navy");
			cs_set_user_bpammo(id, CSW_MP5NAVY, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
			gmp5[id] = true;
			gDglg[id] = true;
			Color( id, "^4[VIP]^1Ai Primit MP5 + Deagle ^3Golden ^4!");
			}
		}
		case 5:
		{
			for ( new id = 1; id <= maxplayers; id++ )         
			switch( alkaline[id])
			{
				case 0:
				{
					alkaline[id] = 1
					NoRec=true;
					ArmeVip(id);
				}
				case 1:
				{
					alkaline[id] = 0
					NoRec=false;
					ArmeVip(id);
				}
			}
		}
	}
	return 1;
}
public Weaponcr( id ) {

	if(get_user_flags(id) & CLASSIC_VIP) {
	new weap = get_user_weapon( id );

	if(gM4a1g[id]&& weap == CSW_M4A1 ) {
		
		
		set_pev( id, pev_viewmodel2, VMdl[ 0 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 0 ] );
	}
	if(gAkg[id]&& weap == CSW_AK47 ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 1 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 1 ] );
	}
	if(gDglg[id]&& weap == CSW_DEAGLE ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 2 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 2 ] );		
	}
	if(gThm[id]&& weap == CSW_P90 ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 3 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 3 ] );		
	}
	if(gmp5[id]&& weap == CSW_MP5NAVY ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 4 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 4 ] );		
	}
	return 1;
	}
	return 1;
}

public fw_SetModel_m4a1(entity, model[])
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	static iOwner;
	iOwner = pev(entity, pev_owner);
	if(equal(model, "models/w_m4a1.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_m4a1", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		if(gM4a1g[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_m4_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
public fw_SetModel_ak47(entity, model[])
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_ak47", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gAkg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_ak_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
public fw_SetModel_deagle(entity, model[])
{	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_deagle.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_deagle", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gDglg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_de_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
public fw_SetModel_thompson(entity, model[])
{	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_p90.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_p90", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gDglg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_th_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
public fw_SetModel_mp5(entity, model[])
{	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_mp5navy.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_mp5navy", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gDglg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_mp_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
	if(get_user_flags( iAttacker ) & CLASSIC_VIP)
	//new weap = get_user_weapon(iAttacker);
	if(gM4a1g[iAttacker]&& get_user_weapon(iAttacker) == CSW_M4A1 ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
       	} 
	if(gAkg[iAttacker]&& get_user_weapon(iAttacker) == CSW_AK47 ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
       	}	
	if(gDglg[iAttacker]&& get_user_weapon(iAttacker) == CSW_DEAGLE ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
	}
	if(gThm[iAttacker]&& get_user_weapon(iAttacker) == CSW_P90 ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
	}
	if(gmp5[iAttacker]&& get_user_weapon(iAttacker) == CSW_MP5NAVY ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
	}
    	return HAM_IGNORED;  
}
public ShowMotd(id) {
	new iCfgDir[32], iFile[192];
        
	get_configsdir(iCfgDir, charsmax(iCfgDir));
	formatex(iFile, charsmax(iFile), "%s/vip.html", iCfgDir);
	show_motd(id, iFile);
}


public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_viplist",id)
	return PLUGIN_CONTINUE
}

public print_viplist(user) 
{
	new adminnames[33][32];
	new message[256];
	new id, count, x, len;
	static const COLORG[] = "^x04";
	static const COLORD[] = "^x01";
	static const COLORT[] = "^x03";
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & CLASSIC_VIP)
				get_user_name(id, adminnames[count++], 31);

	len = format(message, 255, "%s VIPI ONLINE: ",COLORG);
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT);
			if(len > 96 ) {
				print_message(user, message);
				len = format(message, 255, "%s ",COLORG);
			}
		}
		print_message(user, message);
	}
	else {
		len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD);
		print_message(user, message);
	}
	
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id);
	write_byte(id);
	write_string(msg);
	message_end();
}
public give_spawn_armor_health(id){
set_user_health(id,get_user_health(id)+get_pcvar_num(gSHealth));
cs_set_user_armor( id, get_user_armor(id)+get_pcvar_num(gSArmor),CS_ARMOR_VESTHELM);
}

public client_PreThink(id)
{
	if(get_user_flags(id)&CLASSIC_VIP) {
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE;
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("cv_maxjumps"))
		{
			dojump[id] = true;
			jumpnum[id]++
			return PLUGIN_CONTINUE;
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	}
	client_parachute(id);
	return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
	if(get_user_flags(id)&CLASSIC_VIP) {	
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE;
	if(dojump[id] == true)
	{
		new Float:velocity[3];	
		entity_get_vector(id,EV_VEC_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		entity_set_vector(id,EV_VEC_velocity,velocity);
		dojump[id] = false;

		return PLUGIN_CONTINUE;
	}
	}
	return PLUGIN_CONTINUE;
}

public Bonus(id)
{
	new att = read_data(1);
	new hs = read_data(3);

	if(hs) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_hs));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_hs));
	}else if(!hs) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill));		
	}
	if(get_user_weapon(att)==CSW_KNIFE) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_knife));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_knife));
	}	
}
	
public plugin_precache( ) {
	register_cvar("mjstatus", "0" );
	new lucy;
	for( lucy = 0; lucy < sizeof ( VMdl); lucy++ )
		engfunc( EngFunc_PrecacheModel, VMdl[ lucy ] );
	new alka;
	for( alka = 0; alka < sizeof ( PMdl); alka++ )
		engfunc( EngFunc_PrecacheModel, PMdl[ alka ] );	
	
	precache_model(w_m4_gold);
	precache_model(w_ak_gold);
	precache_model(w_de_gold);
	precache_model(w_th_gold);
	precache_model(w_mp_gold);

	precache_model( PARACHUTE );

	m_spriteTexture = precache_model("sprites/dot.spr");	
}

public make_tracer(id)
{
	if(get_user_flags(id)&CLASSIC_VIP){
	if(get_pcvar_num(cvar_goldbullets))
	{
		new clip,ammo;
		new wpnid = get_user_weapon(id,clip,ammo);
		//new pteam[16];
		
		//get_user_team(id, pteam, 15)
		if(get_pcvar_num(cvar_goldbullets_allWeap) &&(wpnid)) {
		if ((bullets[id] > clip) && (gM4a1g[id]&&gAkg[id]&&gDglg[id]) ) 
		{
		
			new vec1[3], vec2[3];
			get_user_origin(id, vec1, 1); // origin; your camera point.
			get_user_origin(id, vec2, 4); // termina; where your bullet goes (4 is cs-only)
						
			//BEAMENTPOINTS
			message_begin( MSG_BROADCAST,SVC_TEMPENTITY);
			write_byte (0);     //TE_BEAMENTPOINTS 0
			write_coord(vec1[0]);
			write_coord(vec1[1]);
			write_coord(vec1[2]);
			write_coord(vec2[0]);
			write_coord(vec2[1]);
			write_coord(vec2[2]);
			write_short( m_spriteTexture );
			write_byte(1); // framestart
			write_byte(5); // framerate
			write_byte(2); // life
			write_byte(10); // width
			write_byte(0); // noise
			write_byte( 255 );     // r, g, b
			write_byte( 215 );       // r, g, b
			write_byte( 0 );       // r, g, b
			write_byte(200); // brightness
			write_byte(150); // speed
			message_end();			
			}
		bullets[id] = clip;
			}
		}
	}
	return 1;
}

public death_event( ) 
{
	new id = read_data( 2 );
	parachute_reset( id );
}

parachute_reset( id ) 
{
	if( para_ent[ id ] > 0 ) 
	{
		if ( is_valid_ent( para_ent[ id ] ) ) 
		{
			remove_entity( para_ent[ id ] );
		}
	}
}

public newSpawn( id ) 
{
	if(para_ent[ id ] > 0 ) 
	{
		remove_entity( para_ent[ id ] );
		para_ent[ id ] = 0;
	}
	has_parachute[ id ] = true;
}

public client_parachute( id ) 
{
	if(get_user_flags(id)&CLASSIC_VIP) {
	if ( !get_pcvar_num( pEnabled ) ) return;
	if ( !is_user_alive( id ) || !has_parachute[ id ] ) return;

	new Float:fallspeed = get_pcvar_float( pFallSpeed ) * -1.0;
	new Float:frame;

	new button = get_user_button( id );
	new oldbutton = get_user_oldbutton( id );
	new flags = get_entity_flags( id );

	if ( para_ent[ id ] > 0 && ( flags & FL_ONGROUND ) ) 
	{

		if (get_pcvar_num( pDetach ) ) 
		{
			if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) != 2 ) 
			{
				entity_set_int( para_ent[ id ], EV_INT_sequence, 2 );			//ZeniX  df : 2
				entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 );
				entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_framerate, 0.0 );
				return;
			}

			frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 2.0;
			entity_set_float( para_ent[ id ], EV_FL_fuser1, frame );
			entity_set_float( para_ent[ id ], EV_FL_frame, frame );

			if ( frame > 254.0 ) 		// 254.0 default
			{
				remove_entity( para_ent[ id ] );
				para_ent[ id ] = 0;
			}
		}
		else 
		{
			remove_entity( para_ent[ id ] );
			para_ent[ id ] = 0;
		}

		return;
	}

	if ( button & IN_USE ) 
	{
		new Float:velocity[ 3 ];
		entity_get_vector( id, EV_VEC_velocity, velocity );

		if ( velocity[ 2 ] < 0.0 ) 
		{
			if( para_ent[ id ] <= 0 ) 
			{
				para_ent[ id ] = create_entity( "info_target" );
				if( para_ent[ id ] > 0 ) 
				{
					entity_set_string( para_ent[ id ],EV_SZ_classname, "parachute" );
					entity_set_edict( para_ent[ id ], EV_ENT_aiment, id );
					entity_set_edict( para_ent[ id ], EV_ENT_owner, id );
					entity_set_int( para_ent[ id ], EV_INT_movetype, MOVETYPE_FOLLOW );
					entity_set_model( para_ent[ id ], PARACHUTE );					
					entity_set_int( para_ent[ id ], EV_INT_sequence, 0 );
					entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 ); // secventa de pers df :   1
					entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 ); // df : 0.0
					entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
				}
			}

			if ( para_ent[id  ] > 0 ) 
			{
				entity_set_int( id, EV_INT_sequence, 3 );
				entity_set_int( id, EV_INT_gaitsequence, 1 );
				entity_set_float( id, EV_FL_frame, 1.0 );
				entity_set_float( id, EV_FL_framerate, 1.0 );

				velocity[ 2 ] = ( velocity[ 2 ] + 40.0 < fallspeed ) ? velocity[ 2 ] + 40.0 : fallspeed;
				entity_set_vector( id, EV_VEC_velocity, velocity );

				if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) == 0 ) 
				{
					frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 1.0;
					entity_set_float( para_ent[ id ], EV_FL_fuser1, frame );
					entity_set_float( para_ent[ id ], EV_FL_frame, frame );

					if ( frame > 100.0 ) 		// df 100.0
					{
						entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 );
						entity_set_float( para_ent[ id ], EV_FL_framerate, 0.4 ); // cadru rata df : 0.4
 						entity_set_int( para_ent[ id ], EV_INT_sequence, 1 );
						entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 );     // secventa de pers df :   1 
						entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 );
						entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
					}
				}
			}
		}
		else if ( para_ent[ id ] > 0 ) 
		{
			remove_entity( para_ent[ id ] );
			para_ent[ id ] = 0;
		}
	}
	else if ( ( oldbutton & IN_USE ) && para_ent[ id ] > 0 ) 
	{
		remove_entity( para_ent[ id ] );
		para_ent[ id ] = 0;
	}
	}
}/*
stock names(id){
new name[32];
get_user_name(id,name,sizeof(name)-1);
return name;
}*/

public user_connect(id) {
	if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) {
		new name[100];
		get_user_name(id,name,sizeof(name)-1);
		Color(0,"^4V.I.P ^3%s ^1se conecteaza...",name);
	}
}
public user_connected(id) {
	if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) {
		new name[100];
		get_user_name(id,name,sizeof(name)-1);
		Color(0,"^4V.I.P ^3%s ^1a intrat pe server.",name);	
	}
}
public user_disconnect(id) {
	if(get_pcvar_num(gShowVipC) && get_user_flags(id) & CLASSIC_VIP) {
		new name[100];
		get_user_name(id,name,sizeof(name)-1);
		Color(0,"^4V.I.P ^3%s ^1a iesit de pe server.",name);	
	}
}
public MessageScoreAttrib(iMsgID, iDest, iReceiver) {
   if(get_pcvar_num(gVipinScore)){
	new iPlayer = get_msg_arg_int( 1 );
	if( is_user_connected( iPlayer )
	&&( get_user_flags( iPlayer ) & CLASSIC_VIP ) ) {
	set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );
	}
   }
}

public server_frame()
{
    if(NoRec) {
    for ( new id = 1; id <= maxplayers; id++ )         
    {
        if ( is_user_alive(id)  )
            set_pev(id, pev_punchangle, gPunchAngle);
    }
    }
    //NoRec= false;
}
stock Color(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!x04", "^4");
	replace_all(msg, 190, "!x01", "^1");
	replace_all(msg, 190, "!x03", "^3");
	/* This plugin created by alkaline aka lucy */
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}
stock drop_weapons(id, dropwhat)
{
     static weapons[32], num, i, weaponid;
     num = 0;
     get_user_weapons(id, weapons, num);
     
     for (i = 0; i < num; i++)
     {
          weaponid = weapons;
          
          if (dropwhat == 2 && ((1<<weaponid) && PRIMARY_WEAPONS_BIT_SUM && SECONDARY_WEAPONS_BIT_SUM))
          {
               static wname[32];
               get_weaponname(weaponid, wname, sizeof wname - 1);
               engclient_cmd(id, "drop", wname);
          }
     }
}



Detalii Versiunea 0.3


Poze | Afiseaza codul
Image


===========================================================================================================================
VECHI | Afiseaza codul
UPDATE:V0.2 - NEW

Actualizari (Jos)

Download_Resurse + PLUGIN
[sursa=sursa]#include <amxmisc>
#include <engine>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>

#define CLASSIC_VIP ADMIN_LEVEL_H // Flagul "t"

#define WEAPON_SECRETCODE 4962

//new w_m4_gold[66] = "models/w_golden_m4a1.mdl";
new w_ak_gold[66] = "models/w_golden_ak47.mdl"
//new w_de_gold[66] = "models/w_golden_deagle.mdl";
new VMdl[][] = {
	
	"models/v_golden_m4a1.mdl",
	"models/v_golden_ak47.mdl",
	"models/v_golden_deagle.mdl"
}

new PMdl[][] = {
	
	"models/p_golden_m4a1.mdl",	
	"models/p_golden_ak47.mdl",
	"models/p_golden_deagle.mdl"
}
new const PARACHUTE[] = "models/parachute.mdl"

new jumpnum[33] = 0;
new bool:dojump[33] = false;
new bool:has_parachute[33],para_ent[33], pDetach, pFallSpeed, pEnabled;
new m_spriteTexture,cvar_goldbullets, maxplayers, gmsgSayText,pCvarSpawn,pcvarSpawnWeap,bullets[ 33 ];

new bool: gAkg[33],gM4a1g[33],gDglg[33];
new
gSHealth,gSArmor,
g_bonus_kill, g_bonus_kill_hs, g_bonus_kill_knife;

public plugin_init( ) {

	register_plugin( "Classic VIP", "v0.1", "alkaline aka lucy");

	RegisterHam( Ham_Spawn, "player", "PlayerSpawn", true);
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );

	register_event( "CurWeapon", "Weaponcr", "be", "1=1" );
	register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0");
	register_event("DeathMsg", "Bonus", "a", "1>0");
	register_event( "ResetHUD", "newSpawn", "be" );
	register_event( "DeathMsg", "death_event", "a" );

//	register_forward(FM_SetModel, "fw_SetModel_m4a1");
	register_forward(FM_SetModel, "fw_SetModel_ak47");
//	register_forward(FM_SetModel, "fw_SetModel_deagle");

	register_clcmd( "say /arme", "ArmeVip", CLASSIC_VIP );
	register_clcmd( "say_team /arme", "ArmeVip", CLASSIC_VIP );

	register_clcmd( "say /vreauvip", "ShowMotd");
	register_clcmd( "say", "handle_say");

	// Cvar

	pCvarSpawn = register_cvar("spawn_menu", "1"); // apare  menu la respawn pentru vipi ? 1 -da 0 nu
	pcvarSpawnWeap = register_cvar("spawn_weap", "1"); // ramane arma la fiecare spawn ? 1-Da . 0-OFF

	register_cvar("cv_maxjumps", "1" ); // Nr de sarituri 0 - Oprit

	cvar_goldbullets = register_cvar("cv_gold_bullets", "0") // Gloantele golden 1- ON | 0- OFF

	gSHealth = register_cvar("cv_spawn_health", "50"); // Hp la fiecare Spawn
	gSArmor = register_cvar("cv_spawn_armor", "50"); // AP la fiecare spawn

	g_bonus_kill = register_cvar("cv_b_kill", "5"); // Hp Bonus pe kill
	g_bonus_kill_hs = register_cvar("cv_b_kill_hs", "10"); // Headshot Hp Bonus pe kill
	g_bonus_kill_knife = register_cvar("cv_b_kill_knife", "15"); // knife Hp Bonus pe kill


	pEnabled = register_cvar( "cv_sv_parachute", "1" ); // parachuta activata pe server ?
	pFallSpeed = register_cvar( "cv_parachute_fallspeed", "45" ); //Fall speed
	pDetach = register_cvar( "cv_parachute_detach", "1" ); //Don't change

	//

	maxplayers = get_maxplayers();
	gmsgSayText = get_user_msgid("SayText");

}

public client_connect( id )
{
	parachute_reset( id );
}
public client_putinserver(id)
{
	gAkg[id] = false;
	gM4a1g[id] = false;
	gDglg[id] = false;

	jumpnum[id] = 0;
	dojump[id] = false;
}

public client_disconnect(id)
{
	gAkg[id] = false;
	gM4a1g[id] = false;
	gDglg[id] = false;

	jumpnum[id] = 0;
	dojump[id] = false;
	parachute_reset( id );
}

public PlayerSpawn(id) {

	if(is_user_alive(id) )	
	if(get_user_flags(id) & CLASSIC_VIP) {
		
	//give_item(id, "weapon_deagle"); 
	give_item(id, "weapon_knife");
	give_item(id, "weapon_hegrenade") 
	cs_set_user_bpammo(id,CSW_HEGRENADE,1);	//              
	give_item(id, "weapon_flashbang"); 
	cs_set_user_bpammo(id,CSW_FLASHBANG,1) // 
	give_item(id, "weapon_smokegrenade");
	give_spawn_armor_health(id);
	switch(get_user_team(id)){
		case 1,2: {
		switch(get_pcvar_num(pCvarSpawn)) {
			case 0: return 1;
			case 1: ArmeVip( id );
				}			
			}
		}
	}
	if(get_pcvar_num(pcvarSpawnWeap)==1){
	gAkg[id] = true;
	gM4a1g[id] = true;
	gDglg[id] = true;		
	}
	return 1;
}


public ArmeVip( id ) {
	if(get_user_flags(id)&CLASSIC_VIP){
	new menu = menu_create ( "\wARME \rVIP", "ArmeVipGiver" );

	menu_additem( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0);
	menu_additem( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0);
	
	menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display( id, menu, 0 );
	return 1;
	}
	return 1;
}

public ArmeVipGiver( 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:
		{
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)
			gM4a1g[id] = true;
			gDglg[id] = true;
			Color( id,"^3Ai Primit M4A1 + Deagle ^1Golden ^3!");
		}
		case 2:
		{
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
			gAkg[id] = true;
			gDglg[id] = true;
			Color( id, "^3Ai Primit AK47 + Deagle ^1Golden ^3!");			
		}
	}
	return 1;
}
public Weaponcr( id ) {

	if(get_user_flags(id) & CLASSIC_VIP) {
	new weap = get_user_weapon( id );

	if(gM4a1g[id]&& weap == CSW_M4A1 ) {
		
		
		set_pev( id, pev_viewmodel2, VMdl[ 0 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 0 ] );
	}
	if(gAkg[id]&& weap == CSW_AK47 ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 1 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 1 ] );
	}
	if(gDglg[id]&& weap == CSW_DEAGLE ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 2 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 2 ] );		
	}
	return 1;
	}
	return 1;
}
/*
public fw_SetModel_m4a1(entity, model[])
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	static iOwner;
	iOwner = pev(entity, pev_owner);
	if(equal(model, "models/w_m4a1.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_m4a1", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		if(gM4a1g[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_m4_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
*/
public fw_SetModel_ak47(entity, model[])
{
	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_ak47.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_ak47", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gAkg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_ak_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}
/*
public fw_SetModel_deagle(entity, model[])
{	if(!pev_valid(entity))
		return FMRES_IGNORED;
	
	static Classname[32];
	pev(entity, pev_classname, Classname, sizeof(Classname));
	
	if(!equal(Classname, "weaponbox"))
		return FMRES_IGNORED;
	
	static iOwner;
	iOwner = pev(entity, pev_owner);
	
	if(equal(model, "models/w_deagle.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_deagle", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gDglg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_de_gold);
			
			return FMRES_SUPERCEDE;
		}
	}
	return FMRES_IGNORED;
}*/
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
	if(get_user_flags( iAttacker ) & CLASSIC_VIP)
	//new weap = get_user_weapon(iAttacker);
	if(gM4a1g[iAttacker]&& get_user_weapon(iAttacker) == CSW_M4A1 ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
       	} 
	if(gAkg[iAttacker]&& get_user_weapon(iAttacker) == CSW_AK47 ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
       	}	
	if(gDglg[iAttacker]&& get_user_weapon(iAttacker) == CSW_DEAGLE ) {
        
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
	}
    	return HAM_IGNORED;  
}
public ShowMotd(id) {
	new iCfgDir[32], iFile[192];
        
	get_configsdir(iCfgDir, charsmax(iCfgDir));
	formatex(iFile, charsmax(iFile), "%s/vip.html", iCfgDir);
	show_motd(id, iFile);
}


public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_viplist",id)
	return PLUGIN_CONTINUE
}

public print_viplist(user) 
{
	new adminnames[33][32];
	new message[256];
	new id, count, x, len;
	static const COLORG[] = "^x04";
	static const COLORD[] = "^x01";
	static const COLORT[] = "^x03";
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & CLASSIC_VIP)
				get_user_name(id, adminnames[count++], 31);

	len = format(message, 255, "%s VIPI ONLINE: ",COLORG);
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT);
			if(len > 96 ) {
				print_message(user, message);
				len = format(message, 255, "%s ",COLORG);
			}
		}
		print_message(user, message);
	}
	else {
		len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD);
		print_message(user, message);
	}
	
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id);
	write_byte(id);
	write_string(msg);
	message_end();
}
public give_spawn_armor_health(id){
set_user_health(id,get_user_health(id)+get_pcvar_num(gSHealth));
cs_set_user_armor( id, get_user_armor(id)+get_pcvar_num(gSArmor),CS_ARMOR_VESTHELM);
}

public client_PreThink(id)
{
	if(get_user_flags(id)&CLASSIC_VIP) {
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE;
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(jumpnum[id] < get_cvar_num("cv_maxjumps"))
		{
			dojump[id] = true;
			jumpnum[id]++
			return PLUGIN_CONTINUE;
		}
	}
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	}
	client_parachute(id);
	return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
	if(get_user_flags(id)&CLASSIC_VIP) {	
	if(!is_user_alive(id)) return PLUGIN_CONTINUE
	if(get_cvar_num("mjstatus") && (!access(id,CLASSIC_VIP))) return PLUGIN_CONTINUE;
	if(dojump[id] == true)
	{
		new Float:velocity[3];	
		entity_get_vector(id,EV_VEC_velocity,velocity);
		velocity[2] = random_float(265.0,285.0);
		entity_set_vector(id,EV_VEC_velocity,velocity);
		dojump[id] = false;

		return PLUGIN_CONTINUE;
	}
	}
	return PLUGIN_CONTINUE;
}

public Bonus(id)
{
	new att = read_data(1);
	new hs = read_data(3);

	if(hs) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_hs));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_hs));
	}else if(!hs) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill));		
	}
	if(get_user_weapon(att)==CSW_KNIFE) {
		set_user_health(att,get_user_health(att)+get_pcvar_num(g_bonus_kill_knife));
		set_hudmessage(255, 0, 0, 0.07, 0.90, 0, 6.0, 3.0);
		show_hudmessage(att, "+%i HP",get_pcvar_num(g_bonus_kill_knife));
	}	
}
	
public plugin_precache( ) {
	register_cvar("mjstatus", "0" );
	new lucy;
	for( lucy = 0; lucy < sizeof ( VMdl); lucy++ )
		engfunc( EngFunc_PrecacheModel, VMdl[ lucy ] );
	new alka;
	for( alka = 0; alka < sizeof ( PMdl); alka++ )
		engfunc( EngFunc_PrecacheModel, PMdl[ alka ] );	
	
//	precache_model(w_m4_gold);
	precache_model(w_ak_gold);
//	precache_model(w_dg_gold);

	precache_model( PARACHUTE );

	m_spriteTexture = precache_model("sprites/dot.spr");	
}

public make_tracer(id)
{
	if(get_user_flags(id)&CLASSIC_VIP){
	if(get_pcvar_num(cvar_goldbullets))
	{
		new clip,ammo;
		new wpnid = get_user_weapon(id,clip,ammo);
		new pteam[16];
		
		get_user_team(id, pteam, 15)
		if ((bullets[id] > clip) && (wpnid==CSW_M4A1)&&(wpnid==CSW_AK47)&&(wpnid==CSW_DEAGLE) && gM4a1g[id]&&gAkg[id]&&gDglg[id] ) 
		{
		
			new vec1[3], vec2[3];
			get_user_origin(id, vec1, 1); // origin; your camera point.
			get_user_origin(id, vec2, 4); // termina; where your bullet goes (4 is cs-only)
						
			//BEAMENTPOINTS
			message_begin( MSG_BROADCAST,SVC_TEMPENTITY);
			write_byte (0);     //TE_BEAMENTPOINTS 0
			write_coord(vec1[0]);
			write_coord(vec1[1]);
			write_coord(vec1[2]);
			write_coord(vec2[0]);
			write_coord(vec2[1]);
			write_coord(vec2[2]);
			write_short( m_spriteTexture );
			write_byte(1); // framestart
			write_byte(5); // framerate
			write_byte(2); // life
			write_byte(10); // width
			write_byte(0); // noise
			write_byte( 255 );     // r, g, b
			write_byte( 215 );       // r, g, b
			write_byte( 0 );       // r, g, b
			write_byte(200); // brightness
			write_byte(150); // speed
			message_end();			
		}
		bullets[id] = clip;
		}
	}
	return 1;
}

public death_event( ) 
{
	new id = read_data( 2 );
	parachute_reset( id );
}

parachute_reset( id ) 
{
	if( para_ent[ id ] > 0 ) 
	{
		if ( is_valid_ent( para_ent[ id ] ) ) 
		{
			remove_entity( para_ent[ id ] );
		}
	}
}

public newSpawn( id ) 
{
	if(para_ent[ id ] > 0 ) 
	{
		remove_entity( para_ent[ id ] );
		para_ent[ id ] = 0;
	}
	has_parachute[ id ] = true;
}

public client_parachute( id ) 
{
	if(get_user_flags(id)&CLASSIC_VIP) {
	if ( !get_pcvar_num( pEnabled ) ) return;
	if ( !is_user_alive( id ) || !has_parachute[ id ] ) return;

	new Float:fallspeed = get_pcvar_float( pFallSpeed ) * -1.0;
	new Float:frame;

	new button = get_user_button( id );
	new oldbutton = get_user_oldbutton( id );
	new flags = get_entity_flags( id );

	if ( para_ent[ id ] > 0 && ( flags & FL_ONGROUND ) ) 
	{

		if (get_pcvar_num( pDetach ) ) 
		{
			if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) != 2 ) 
			{
				entity_set_int( para_ent[ id ], EV_INT_sequence, 2 );			//ZeniX  df : 2
				entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 );
				entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 );
				entity_set_float( para_ent[ id ], EV_FL_framerate, 0.0 );
				return;
			}

			frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 2.0;
			entity_set_float( para_ent[ id ], EV_FL_fuser1, frame );
			entity_set_float( para_ent[ id ], EV_FL_frame, frame );

			if ( frame > 254.0 ) 		// 254.0 default
			{
				remove_entity( para_ent[ id ] );
				para_ent[ id ] = 0;
			}
		}
		else 
		{
			remove_entity( para_ent[ id ] );
			para_ent[ id ] = 0;
		}

		return;
	}

	if ( button & IN_USE ) 
	{
		new Float:velocity[ 3 ];
		entity_get_vector( id, EV_VEC_velocity, velocity );

		if ( velocity[ 2 ] < 0.0 ) 
		{
			if( para_ent[ id ] <= 0 ) 
			{
				para_ent[ id ] = create_entity( "info_target" );
				if( para_ent[ id ] > 0 ) 
				{
					entity_set_string( para_ent[ id ],EV_SZ_classname, "parachute" );
					entity_set_edict( para_ent[ id ], EV_ENT_aiment, id );
					entity_set_edict( para_ent[ id ], EV_ENT_owner, id );
					entity_set_int( para_ent[ id ], EV_INT_movetype, MOVETYPE_FOLLOW );
					entity_set_model( para_ent[ id ], PARACHUTE );					
					entity_set_int( para_ent[ id ], EV_INT_sequence, 0 );
					entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 ); // secventa de pers df :   1
					entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 ); // df : 0.0
					entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
				}
			}

			if ( para_ent[id  ] > 0 ) 
			{
				entity_set_int( id, EV_INT_sequence, 3 );
				entity_set_int( id, EV_INT_gaitsequence, 1 );
				entity_set_float( id, EV_FL_frame, 1.0 );
				entity_set_float( id, EV_FL_framerate, 1.0 );

				velocity[ 2 ] = ( velocity[ 2 ] + 40.0 < fallspeed ) ? velocity[ 2 ] + 40.0 : fallspeed;
				entity_set_vector( id, EV_VEC_velocity, velocity );

				if ( entity_get_int( para_ent[ id ], EV_INT_sequence ) == 0 ) 
				{
					frame = entity_get_float( para_ent[ id ], EV_FL_fuser1 ) + 1.0;
					entity_set_float( para_ent[ id ], EV_FL_fuser1, frame );
					entity_set_float( para_ent[ id ], EV_FL_frame, frame );

					if ( frame > 100.0 ) 		// df 100.0
					{
						entity_set_float( para_ent[ id ], EV_FL_animtime, 0.0 );
						entity_set_float( para_ent[ id ], EV_FL_framerate, 0.4 ); // cadru rata df : 0.4
 						entity_set_int( para_ent[ id ], EV_INT_sequence, 1 );
						entity_set_int( para_ent[ id ], EV_INT_gaitsequence, 1 );     // secventa de pers df :   1 
						entity_set_float( para_ent[ id ], EV_FL_frame, 0.0 );
						entity_set_float( para_ent[ id ], EV_FL_fuser1, 0.0 );
					}
				}
			}
		}
		else if ( para_ent[ id ] > 0 ) 
		{
			remove_entity( para_ent[ id ] );
			para_ent[ id ] = 0;
		}
	}
	else if ( ( oldbutton & IN_USE ) && para_ent[ id ] > 0 ) 
	{
		remove_entity( para_ent[ id ] );
		para_ent[ id ] = 0;
	}
	}
}
stock Color(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!x04", "^4");
	replace_all(msg, 190, "!x01", "^1");
	replace_all(msg, 190, "!x03", "^3");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}
//VECHI
CVARURI | Afiseaza codul
Cvaru-ri :

spawn_menu "1" // apare  menu la respawn pentru vipi ? 1 -da 0 nu
spawn_weap "1" // ramane arma la fiecare spawn ? 1-Da . 0-OFF

cv_maxjumps "1"  // Nr de sarituri 0 - Oprit

cv_gold_bullets "0" // Gloantele golden 1- ON | 0- OFF

cv_spawn_health "50" // Hp la fiecare Spawn
cv_spawn_armor "50" // AP la fiecare spawn

cv_b_kill "5"  // Hp Bonus pe kill
cv_b_kill_hs "10" // Headshot Hp Bonus pe kill
cv_b_kill_knife "15"  // knife Hp Bonus pe kill
cv_sv_parachute "1"  // parachuta activata pe server ?



VECHI
VECHI | Afiseaza codul
[/color]
Altele: Pluginul Nu are buguri + Testat, Functioneaza perfect
Cu Ocazia aceasta am facut  si la Aceasta Cerere

Descarcare:
Aveti Toate resursele
DOWNLOAD 

Folositi Sursa de aici

Aici sursa  [sursa=classic_vip.sma]/*		PLUGIN CREAT DE ZeniX aka lucy 
					REALIZAT IN TOTALITATE + CVAR 2013
						V 0.1
						
	// CVAR

	bullets_gold "0"			// CVAR sa apara linile golden cand tragi ;) 1- ON / 0- OFF
	
	bonus_status "1"			// CVAR sa fie activat Pluginul BONUS 1- ON /0 - OFF
	bonus_maxhealth "255"		// CVAR MAXIMUM de bonus cat sa aibe un player default 255 

	bonus_knife "0"				// CVAR BONUS kill cutit kill 0 dezactivat / default 10
	bonus_knifeheadshot "20" 	// CVAR BONUS kill cutit kill/headshot 0 dezactivat / default 20
	bonus_kill "25"				// BOnus kill
	bonus_hs", "55")			// Bonus kill HS	
		
*/
#include <amxmodx>
#include <fun>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#include <hamsandwich>
#include <fakemeta_util>


#define PLUGIN	"Classic VIP"
#define VERSIUNE "0.1"

#define CLASSIC_VIP ADMIN_LEVEL_H

static const COLORG[] = "^x04"
static const COLORD[] = "^x01"
static const COLORT[] = "^x03"

/*
new v_Ak47_Gold [ ] = "models/v_golden_ak47.mdl"
new p_Ak47_Gold [ ] = "models/p_golden_ak47.mdl"

new v_M4a1_Gold [ ] = "models/v_golden_m4a1_UP.mdl"
new p_M4a1_Gold [ ] = "models/p_golden_m4a1_UP.mdl"

new v_Golden_Deagle [ ] = "models/v_golden_deagle.mdl"
new p_Golden_Deagle [ ] = "models/p_golden_deagle.mdl"
*/

new b_Status, b_MaxHealth, b_Kill, b_Knife, b_Headshot, b_KnifeHeadshot
new bullets[ 33 ], m_spriteTexture
new cvar_goldbullets
new maxplayers, gmsgSayText
//, g_msgSayText

new ViewModels [ ] [ ] = {
	
	"models/v_golden_m4a1.mdl",
	"models/v_golden_ak47.mdl",
	"models/v_golden_deagle.mdl"
}

new PlayersModels [ ] [ ] = {
	
	"models/p_golden_m4a1.mdl",	
	"models/p_golden_ak47.mdl",
	"models/p_golden_deagle.mdl"
}

public plugin_init ( ) {

	register_plugin ( PLUGIN, VERSIUNE, "zenix aka lucylucy" );

	register_clcmd ( "say /arme", "ApperNext", CLASSIC_VIP );
	register_clcmd ( "say_team /arme", "ApperNext", -1 );
	register_clcmd("say /vreauvip", "ShowMotd");

	register_event( "CurWeapon", "bullets_gold", "be", "1=1", "3>0");
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	register_event( "DeathMsg", "EventKillBonus", "a", "1>0" );

	RegisterHam ( Ham_Spawn, "player", "ApperNext", 1 );
	RegisterHam ( Ham_Spawn, "player", "Player_Spawn", 1);
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	
	maxplayers = get_maxplayers()
	gmsgSayText = get_user_msgid("SayText")
	register_clcmd("say", "handle_say")
	
	//register_logevent("round_start", 2, "1=Round_Start")
	
	// CVAR-uri .. La Greu ;) ZeNiX	
	cvar_goldbullets = register_cvar("bullets_gold", "0");	// CVAR sa apara linile gol cand tragi ;) 1- ON / 0- OFF
	
	b_Status = register_cvar("bonus_status", "1");	// CVAR sa fie activat Pluginul BONUS 1- ON /0 - OFF
	b_MaxHealth = register_cvar("bonus_maxhealth", "255");	// CVAR MAXIMUM de bonus cat sa aibe un player default 255 

	b_Knife = register_cvar("bonus_knife", "0");		// CVAR BONUS kill cutit kill 0 dezactivat / default 10
	b_KnifeHeadshot = register_cvar("bonus_knifeheadshot", "20"); // CVAR BONUS kill cutit kill/headshot 0 dezactivat / default 20
	b_Kill = register_cvar("bonus_kill", "25");	// BOnus kill
	b_Headshot = register_cvar("bonus_hs", "55");	// Bonus kill HS
	

}

public plugin_precache ( ) {
/*
	precache_model ( v_Ak47_Gold )
	precache_model ( p_Ak47_Gold )

	precache_model ( v_M4a1_Gold )
	precache_model ( p_M4a1_Gold )

	precache_model ( v_Golden_Deagle )
	precache_model ( p_Golden_Deagle )
*/
	new lucy;
	for ( lucy = 0; lucy < sizeof ( ViewModels ); lucy++ )
		engfunc ( EngFunc_PrecacheModel, ViewModels [ lucy ] );
	new zenix;
	for ( zenix = 0; zenix < sizeof ( PlayersModels ); zenix++ )
		engfunc ( EngFunc_PrecacheModel, PlayersModels [ zenix ] );	
		
	m_spriteTexture = precache_model("sprites/dot.spr")	
}

	
public Player_Spawn(id) 
{ 
   	new iPlayers [ 32 ], iNum, i;
	get_players ( iPlayers, iNum );
	
	for ( i = 0; i < iNum; i++ )
	{
		if( !is_user_alive ( iPlayers [ i ] ) )
			continue;

		if(get_user_flags(id) & CLASSIC_VIP) {
		
		fm_strip_user_weapons ( iPlayers [ i ] );
		set_pdata_int ( iPlayers [ i ], 116, 0 );
		give_item(id, "weapon_deagle") 
		give_item(id, "weapon_knife") 
		fm_give_item(id, "weapon_hegrenade") 
                fm_give_item(id, "weapon_hegrenade")             
                give_item(id, "weapon_flashbang")  
                give_item(id, "weapon_flashbang") 
		give_item(id, "weapon_smokegrenade") 
	}
	}
}

/*
 if(is_user_alive(id)) 
    { 
        new CsTeams:team = cs_get_user_team(id)
        switch(team) 
        { 
            case 0: 
            { 
                strip_user_weapons(id) 
                give_item(id, "weapon_knife") 
		give_item(id, "weapon_hegrenade")
                give_item(id, "weapon_hegrenade")               
                give_item(id, "weapon_flashbang") 
                give_item(id, "weapon_flashbang")
		give_item(id, "weapon_smokegrenade")
            } 

	}

    }
*/

public ApperNext ( id ) {
	
	if ( get_user_team ( id ) == 1 && get_user_flags(id) & CLASSIC_VIP ) {
		
		set_task( 0.1, "ArmeVip", id );
	}
	
	if ( get_user_team ( id ) == 2 && get_user_flags(id) & CLASSIC_VIP ) {
		
		set_task( 0.1, "ArmeVip", id );
	}
	
}

public ArmeVip ( id, level, cid ) {

	new menu = menu_create ( "\rARME \yVIP", "ArmeVipGiver" );

	menu_additem ( menu, "\wM4A1 + Deagle \yGOLDEN \r X2 DMG", "1", 0);
	menu_additem ( menu, "\wAK47 + Deagle \yGOLDEN \r X2 DMG", "2", 0);
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ArmeVipGiver ( 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:
		{
			fm_give_item(id, "weapon_m4a1");
			fm_give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_M4A1, 90);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35)

			ColorChat ( id, TEAM_COLOR, "Ai Primit M4A1 + Deagle Golden !");
		}
		case 2:
		{
			fm_give_item(id, "weapon_ak47");
			fm_give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_AK47, 90);
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
		
			ColorChat ( id, TEAM_COLOR, "Ai Primit AK47 + Deagle Golden !");			
		}
	}
	return 1;
}

public CurrentWeapon ( id ) {
	
	new szWeapon = get_user_weapon ( id ) ;
	if ( szWeapon == CSW_M4A1 && get_user_flags( id ) & CLASSIC_VIP ) {
		
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 0 ] );
		set_pev ( id, pev_weaponmodel2, PlayersModels [ 0 ] );
		
	}
	
	if ( szWeapon == CSW_AK47 && get_user_flags( id ) & CLASSIC_VIP) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 1 ] );
		set_pev ( id, pev_weaponmodel2, PlayersModels [ 1 ] );
		
	}

	if ( szWeapon == CSW_DEAGLE && get_user_flags( id ) & CLASSIC_VIP) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 2 ] );
		set_pev ( id, pev_weaponmodel2, PlayersModels [ 2 ] );
		
	}
	
	return 1;
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {

    if ( get_user_weapon ( iAttacker ) == CSW_M4A1 && get_user_flags( iAttacker ) & CLASSIC_VIP   ) {
        
        SetHamParamFloat( 4, fDamage * 2.0);
        return HAM_HANDLED;
        
    }
   
    if (  get_user_weapon ( iAttacker ) == CSW_AK47 && get_user_flags( iAttacker ) & CLASSIC_VIP ) {
        
        SetHamParamFloat( 4, fDamage * 2.0);
        return HAM_HANDLED;
        
    }
	
    if ( get_user_weapon ( iAttacker ) == CSW_DEAGLE && get_user_flags( iAttacker ) & CLASSIC_VIP ) {
        
        SetHamParamFloat( 4, fDamage * 2.0);
        return HAM_HANDLED;
        
    }
    
    return HAM_IGNORED;
    
}


public ShowMotd(id) {
        new iCfgDir[32], iFile[192];
        
        get_configsdir(iCfgDir, charsmax(iCfgDir));
        formatex(iFile, charsmax(iFile), "%s/vip.html", iCfgDir);

        show_motd(id, iFile);
}
/*
public client_authorized ( id ) {

	set_task(30.0, "PrintChat" ,id)

}

public PrintChat ( id ) {

	//client_print(id, print_chat, "\r[VIP] \wScrie in chat \r/vreauvip \wpentru Beneficile VIP.")
	ColorChat ( id, GREEN, "Scrie in chat /vreauvip pentru Beneficiile VIP !");

}
*/

public bullets_gold(id)
{
	if (get_pcvar_num(cvar_goldbullets) && get_user_flags( id ) & CLASSIC_VIP )
	{
		new clip,ammo
		new wpnid = get_user_weapon(id,clip,ammo)
		new pteam[16]
		
		get_user_team(id, pteam, 15)
		
		if ((bullets[id] > clip) && (wpnid == CSW_AK47, CSW_M4A1, CSW_DEAGLE && get_user_flags( id ) & CLASSIC_VIP) ) 
		{
			new vec1[3], vec2[3]
			get_user_origin(id, vec1, 1) // origin; your camera point.
			get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
			
			
			//BEAMENTPOINTS
			message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
			write_byte (0)     //TE_BEAMENTPOINTS 0
			write_coord(vec1[0])
			write_coord(vec1[1])
			write_coord(vec1[2])
			write_coord(vec2[0])
			write_coord(vec2[1])
			write_coord(vec2[2])
			write_short( m_spriteTexture )
			write_byte(1) // framestart
			write_byte(5) // framerate
			write_byte(2) // life
			write_byte(10) // width
			write_byte(0) // noise
			write_byte( 255 )     // r, g, b
			write_byte( 215 )       // r, g, b
			write_byte( 0 )       // r, g, b
			write_byte(200) // brightness
			write_byte(150) // speed
			message_end()
		}
		
		bullets[id] = clip
	}
	
}

/*
    new killer = read_data(1);
    new victim = read_data(2);
    new headshot = read_data(3);
*/

public EventKillBonus() {
    new killer 
    new victim
    new headshot
    new weapon = get_user_weapon(killer);
    new num;
    
    if(killer == victim || !get_pcvar_num(b_Status) || !is_user_connected(victim) || !is_user_alive(killer) && get_user_flags( killer ) & CLASSIC_VIP)
        return PLUGIN_HANDLED;
    
    if(headshot && weapon == CSW_KNIFE ) {
        num = get_pcvar_num(b_KnifeHeadshot)
        GiveHealth(killer, num)
        HudMessage(killer, "Ai primit +%ihp", num)
    } else if(headshot) {
        num = get_pcvar_num(b_Headshot)
        GiveHealth(killer, num)
        HudMessage(killer, "Ai primit +%ihp pentru HS", num)
    } else if(weapon == CSW_KNIFE) {
        num = get_pcvar_num(b_Knife)
        GiveHealth(killer, num)
        HudMessage(killer, "Ai primit +%ihp", num)
    } else {
        num = get_pcvar_num(b_Kill)
        GiveHealth(killer, num)
        HudMessage(killer, "Ai primit +%ihp pentru Kill", num)
    }
    return PLUGIN_CONTINUE;
}

GiveHealth(id, count)
    set_user_health(id, min( (get_user_health(id) + count), get_pcvar_num(b_MaxHealth) ))

stock HudMessage(const id, const input[], any:...) {
    static msg[191];
    vformat(msg, 190, input, 3);
    
    set_hudmessage(255, 255, 0, 0.27, 0.14, 0, 5.0, 5.0, 0.0, 0.0, -1);
    show_hudmessage(id, "%s^n%s", msg)
}
/*
stock client_printcolor(id, const message[], any:...)
{
	static buffer[512], argscount
	argscount = numargs()
	
	if (!id) {
		
		static players[32], num, player, i, i2
		get_players(players, num , "ch")
			
		for (i = 0; i < num; i++) {
			
			player = players
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i2 = 2; i2 < argscount; i2++)
			{
				if (getarg(i2) == LANG_PLAYER)
				{
					setarg(i2, 0, player)
					changed[changedcount] = i2
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			replace_all(buffer, charsmax(buffer), "/g", "^4")
			replace_all(buffer, charsmax(buffer), "/y", "^1")
		
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i2 = 0; i2 < changedcount; i2++)
				setarg(changed[i2], 0, LANG_PLAYER)
		}
	}
	else {
		
		vformat(buffer, charsmax(buffer), message, 3)
		
		replace_all(buffer, charsmax(buffer), "/g", "^4")
		replace_all(buffer, charsmax(buffer), "/y", "^1")
		
		message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, id)
		write_byte(id)
		write_string(buffer)
		message_end()
	}
}
*/
public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_viplist",id)
	return PLUGIN_CONTINUE
}

public print_viplist(user) 
{
	new adminnames[33][32]
	new message[256]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & CLASSIC_VIP)
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s VIPI ONLINE: ",COLORG)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT)
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLORG)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD)
		print_message(user, message)
	}
	
}

print_message(id, msg[]) {
	message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
	write_byte(id)
	write_string(msg)
	message_end()
}

/*';';';';';';';'';';';';';';';'';';';';';';';'';';';';';';';'
;'	Plugin						    ;'
;'							    ;'
;'		By	23:16 AM			    ;'
;'				  2.07.2013	FINISH..    ;'
;'	ZeniX aka lucy					    ;'
';';';';';';';'';';';';';';';'';';';';';';';'';';';';';';';';'
*/



Nume: ZeniX aka lucylucy (eu)
Versiune: 0.1
Link oficial: aici

Instalare:
1. Fisierul classic_vip.sma il puneti in addons/amxmodx/scripting
2. Fisierul classic_vip.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

classic_vip.amxx
Cvar-uri :[/b]
Le aveti in Sursa + ce face fiecare


Module necesare :[/b]
Intrati in addons/amxmodx/configs/modules si stergeti ";" din fata Modulelor :

Code: Select all

fun
fakemeta
cstrike
hamsandwich

Imagini:

Image
Image
Image

PS: Primul meu plugin mai "complicat", Multumesc scripterilor de aici Pentru ca tot de la ei am invatat .
[/Sursa]

Re: Classic_vip

Posted: 04 Jul 2013, 10:15
by M3taph0riK
Puteai sa faci o descriere mai ampla a pluginului + niste poze sa vada tot poporu ce si cum. Oricum felicitari pentru munca depusa !

Re: Classic_vip

Posted: 04 Jul 2013, 10:41
by munir

Code: Select all

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_viplist",id)
	return PLUGIN_CONTINUE
}

public print_viplist(user) 
{
	new adminnames[33][32]
	new message[256]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & CLASSIC_VIP)
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s VIPI ONLINE: ",COLORG)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT)
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLORG)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD)
		print_message(user, message)
	}
	
}
Puteai sa faci ceva mai simplu.. de exemplu sa arate doar cati sunt online, nu si numele lor..

Re: Classic_vip

Posted: 04 Jul 2013, 14:58
by alkaline
RzV24 wrote:Puteai sa faci o descriere mai ampla a pluginului + niste poze sa vada tot poporu ce si cum. Oricum felicitari pentru munca depusa !
Am adaugat Pozele
puMf wrote:

Code: Select all

public handle_say(id) {
	new said[192]
	read_args(said,192)
	if( ( containi(said, "vips") != -1 && containi(said, "vips") != -1 ) || contain(said, "/vips") != -1 )
		set_task(0.1,"print_viplist",id)
	return PLUGIN_CONTINUE
}

public print_viplist(user) 
{
	new adminnames[33][32]
	new message[256]
	new id, count, x, len
	
	for(id = 1 ; id <= maxplayers ; id++)
		if(is_user_connected(id))
			if(get_user_flags(id) & CLASSIC_VIP)
				get_user_name(id, adminnames[count++], 31)

	len = format(message, 255, "%s VIPI ONLINE: ",COLORG)
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "^x03%s%s ", adminnames[x], x < (count-1) ? ", ":"", COLORT)
			if(len > 96 ) {
				print_message(user, message)
				len = format(message, 255, "%s ",COLORG)
			}
		}
		print_message(user, message)
	}
	else {
		len += format(message[len], 255-len, "^x01Nu sunt VIPI online.", COLORD)
		print_message(user, message)
	}
	
}
Puteai sa faci ceva mai simplu.. de exemplu sa arate doar cati sunt online, nu si numele lor..
DA dar arata admini uitate in poza 3

Re: Classic_vip

Posted: 05 Jul 2013, 10:54
by cRi
Interesant dar am citit fiecare linie si nu cred ca e nevoie sa scrii tot felul de porcarii mai ales cum e la final la ce ora ai facut plugin si pe ce data. Mie unul chiar mi se pare fain pluginul dar de curiozitate? Tu l-ai facut in totalitate sau unele linie le-ai pastrat sa zic "asa" de la altii precum compaq sau Rap , stiu ca ei folosesc g_Max , iPlayer sau ceva de genul .
B|ravo din nou , chiar imi place pluginul

Re: Classic_vip

Posted: 05 Jul 2013, 10:57
by alkaline
Da , am vazut ca ei stiu sa scripteze, dupa ei am invatat cum se face , ce functie are fiecare etc., da eu l-am scris pe tot

Re: Classic_vip

Posted: 08 Jul 2013, 10:40
by munir
Ca si o optimizare: Creaza meniul in plugin_cfg( ) si, cand este comanda chemata, sa ii dai meniul. (menu_display( ... ))

Re: Classic_vip

Posted: 14 Jul 2013, 01:39
by Chris Duskblade
am o intrebare? modelele de la armele golden ? :-s si am primit si o chestie colorchat.txt cu aia ce fac ?

Re: Classic_vip

Posted: 14 Jul 2013, 20:21
by alkaline
Modelel l-eam pus mai sus un link de downlaod si colorchat nu il faci .txt il transformi in

Code: Select all

colorchat.inc 
si il adaugi in scriptings/include ca sa poata fi compilat

Re: Classic_vip

Posted: 02 Aug 2013, 08:10
by MasterKiss
Super imi place BRAVA =D> =D> =D> =D>

Re: Classic_vip

Posted: 02 Aug 2013, 11:01
by smileye
La ce accese de Vip da aceste beneficii?
Poti seta niste accese din sursa, sau pe ce criteriu le da? Oricine scrie /vreuarme,/arme samd?

Si inca ceva:
Ai putea sa il faci mai frumos prin
- pui la cei de la Vip sa poata avea parasuta pe server, ceilalti nu, doar cei cu acces vip care au literele corespunzatoare sursei
- sa dea grenade la alegere smoke/he daca omoara pe cineva cu he care l-am cumparat
- sa scoti faza cu gloante golden ca e cam naspa sa incarci serverul cu modele sau linii golden cum are momentan pluginul

Re: Classic_vip

Posted: 08 Aug 2013, 18:33
by DenysaEu
Voi adauga vipul si pe sv meu.

Mersi si gj