eroare compilare plguin !

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
SkEma
Membru, skill +1
Membru, skill +1
Posts: 101
Joined: 01 Jan 2014, 21:52
Detinator Steam: Da
CS Status: Caut Admini Experimentati
Detinator server CS: FURIEN.RANGFORT.RO
SteamID: SkEma
Has thanked: 12 times
Contact:

29 Mar 2014, 13:44

Salut imi poate compila si mie cineva acest plugin sa functioneze? Si daca va rog scoateti flashbang-ul si smoke-ul afara, lasa-ti doar HE-ul ! Mersi !

PLUGIN:
| 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_awp[66] = "models/w_awp.mdl";

new VMdl[][] = {
	
	"models/v_golden_m4a1.mdl",
	"models/v_golden_ak47.mdl",
	"models/v_golden_deagle.mdl",
	"models/v_awp.mdl"

}

new PMdl[][] = {
	
	"models/p_golden_m4a1.mdl",	
	"models/p_golden_ak47.mdl",
	"models/p_golden_deagle.mdl",
	"models/p_awp.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],gAwp[33];
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_awp");
	

	register_clcmd( "say /armegold", "ArmeVip", CLASSIC_VIP );
	register_clcmd( "say_team /armegold", "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", "2" ); // Nr de sarituri 0 - Oprit

	cvar_goldbullets = register_cvar("cv_gold_bullets", "1") // 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", "0"); // Hp la fiecare Spawn
	gSArmor = register_cvar("cv_spawn_armor", "0"); // AP la fiecare spawn

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


	pEnabled = register_cvar( "cv_sv_parachute", "1" ); // parachuta activata pe server ?
	pFallSpeed = register_cvar( "cv_parachute_fallspeed", "60" ); //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;
	gAwp[id] = false;
	
	jumpnum[id] = 0;
	dojump[id] = false;
	user_connected(id);
}

public client_disconnect(id)
{
	gAkg[id] = false;
	gM4a1g[id] = false;
	gDglg[id] = false;
	gAwp[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;
	gAwp[id] = true;
		}	

	}
	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 \r-Allready Have", "1", 0);
	}else
		menu_additem( menu, "\wM4A1 + Deagle \yGOLDEN \r ", "1", 0);

	if(user_has_weapon(id,CSW_AK47)) {
		menu_additem( menu, "\dAK47 + Deagle GOLDEN \r-Allready Have", "2", 0);
	}else 	
		menu_additem( menu, "\wAK47 + Deagle \yGOLDEN \r", "2", 0);
		
	if(user_has_weapon(id,CSW_AWP)) {		
		menu_additem( menu, "\dAWP + Deagle \yGOLDEN \r-Allready Have", "3", 0); 		
	}else
            
		menu_additem( menu, "\wAWP + Deagle \yGOLDEN \r", "3", 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:
		{
			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 - RESPAWN]^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 - RESPAWN]^1Ai Primit AK47 + Deagle ^3Golden ^4!");
			}			
		}
		case 3:
		{
			drop_weapons(id, 2);
			if(!user_has_weapon(id,CSW_AWP)){
			give_item(id, "weapon_awp");
			cs_set_user_bpammo(id, CSW_AWP, 90);
			give_item(id, "weapon_deagle");		
			cs_set_user_bpammo(id, CSW_DEAGLE, 35);	
			gAwp[id] = true;
			gDglg[id] = true;
			Color( id, "^4[VIP - RESPAWN]^1Ai Primit AWP + Deagle ^3Golden ^4!");
				}
			}
		
		}
		
	}
	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(gAwp[id]&& weap == CSW_AWP ) {
		
		set_pev( id, pev_viewmodel2, VMdl[ 3 ] );
		set_pev( id, pev_weaponmodel2, PMdl[ 3 ] );		
	}
	
		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_awp.mdl"))
	{
		static weapon; weapon = fm_find_ent_by_owner(-1, "weapon_awp", entity);
		
		if(!pev_valid(weapon))
			return FMRES_IGNORED;
		
		if(gDglg[iOwner])
		{
			set_pev(weapon, pev_impulse, WEAPON_SECRETCODE);
			engfunc(EngFunc_SetModel, entity, w_awp);
			
			return FMRES_SUPERCEDE;
		}
	}
		return FMRES_IGNORED;
}
	

	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 * 1.2);
		return HAM_HANDLED;
       	} 
	if(gAkg[iAttacker]&& get_user_weapon(iAttacker) == CSW_AK47 ) {
        
		SetHamParamFloat( 4, fDamage * 1.2);
		return HAM_HANDLED;
       	}	
	if(gDglg[iAttacker]&& get_user_weapon(iAttacker) == CSW_DEAGLE ) {
        
		SetHamParamFloat( 4, fDamage * 1.2);
		return HAM_HANDLED;
	}
	if(gAwp[iAttacker]&& get_user_weapon(iAttacker) == CSW_AWP ) {
        
		SetHamParamFloat( 4, fDamage * 1.2);
		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, "^x01[RESPAWN] Nu 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_awp);

	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");
	
	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);
          }
     }
}
Image
Image
Image
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 69 guests