Cerere modificare Plugin vip

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
VD*
Membru, skill 0
Membru, skill 0
Posts: 4
Joined: 31 May 2017, 17:18
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: DA
SteamID: https://steamcommuni
Fond eXtream: 0
Location: Focşani
Contact:

24 May 2020, 13:18

Plugin Cerut: Am nevoie sa mi se modifice un plugin de vip.
Descriere (adica ce face el mai exact): daca poata cineva sa mi faca la acest vip sa vad vipii on separat: exemplu : [VIP-GOLD] ONLINE: Vd si [VIP-SILVER] gogu , si la intrare pe server sa arate asa: [VIP-GOLD] nick s-a conectat pe server ! [VIP-SILVER] nick s-a conectat pe server,daca se poate..

Code: Select all

#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>
#include <colorchat>


#define PLUGIN "Vip"
#define VERSION "1.0a"
#define AUTHOR "Alexandru+Stefan+Dunno"


#define ADMIN_GOLD	 ADMIN_LEVEL_H //t
#define ADMIN_SILVER	ADMIN_LEVEL_G //s


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


//new bool:g_iRunda[ 33 ], bool:g_iRound[ 33 ];
new Cvar_VIP
new Runda_Arme = 3
new bool: Activare = false
new Contor = 0
new g_szMessage[256]
new const g_szBeginning[ ] = "Membrii VIP"


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);
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);




new mkb,mhb,cvar_vip_maxhp,cvar_vip_maxap,cvar_hp_kill_premium,cvar_ap_kill_premium,cvar_hp_kill_classic,cvar_ap_kill_classic,cvar_vip_jump
new cvar_tag,cvar_vip_in_out,jumpnum[33], bool: dojump[33],cvar_vip_showC,cvar_vip_showH,SyncHudMessage


public plugin_init () {
	
	register_plugin ("PLUGIN", "VERSION", "AUTHOR")
	new MapName[32]
	get_mapname(MapName,31)
	if(MapName[0] == 'a' && MapName[1] == 'w' && MapName[2] == 'p')
		pause("ac","vipnew.amxx")
	if(equal(MapName,"35hp_2"))
		pause("ac","vipnew.amxx")
	if(equal(MapName,"35hp"))
		pause("ac","vipnew.amxx")	
	


	register_clcmd("say /vip", "vip_info")
	register_clcmd("say /vips", "print_adminlist")
	RegisterHam(Ham_Spawn, "player", "cmdSpawn", 1)
	register_event("DeathMsg", "eDeathMsg", "a")
	register_logevent("RoundStart", 2, "1=Round_Start")
	register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib")
	Cvar_VIP = register_cvar("amx_vip" , "0")
	cvar_vip_in_out = register_cvar("amx_vip_in_out", "1")
	cvar_tag = register_cvar("amx_vip_tag", "VIP")
	cvar_vip_jump = register_cvar("amx_vip_jump", "1" )
	cvar_hp_kill_premium = register_cvar("amx_vip_addhp", "15")	
	cvar_ap_kill_premium = register_cvar("amx_vip_addap", "10")
	cvar_hp_kill_classic = register_cvar("amx_vip_addhp", "10")	
	cvar_ap_kill_classic = register_cvar("amx_vip_addap", "10")
	cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "100")
	cvar_vip_maxap = register_cvar("amx_vip_maxap", "100")	
	mkb = register_cvar("money_kill_bonus","300")
	mhb = register_cvar("money_hs_bonus","500")
	cvar_vip_showC = register_cvar("amx_vip_show_chat", "1")
	cvar_vip_showH = register_cvar("amx_vip_show_hud", "1")
	
	
	
	set_task( 1.0, "TaskDisplayVips", _, _, _, "b", 0 )
	SyncHudMessage = CreateHudSyncObj( )




	
	
}


public TaskDisplayVips( )
{
	if(get_pcvar_num(cvar_vip_showH))
	{
		static iPlayers[ 32 ];
		static iPlayersNum;
	
		get_players( iPlayers, iPlayersNum, "ch" );
		if( !iPlayersNum )
			return 1;
	
		static iVipsConnected, szVipsNames[ 128 ], szName[ 32 ];
		formatex( szVipsNames, sizeof ( szVipsNames ) -1, "" ); // Is this needed ?
		iVipsConnected = 0;
	
		static id, i;
		for( i = 0; i < iPlayersNum; i++ )
		{
			id = iPlayers[ i ];
			if( get_user_flags( id ) & ADMIN_GOLD )
			{
				get_user_name( id, szName, sizeof ( szName ) -1 );
			
				add( szVipsNames, sizeof ( szVipsNames ) -1, szName );
				add( szVipsNames, sizeof ( szVipsNames ) -1, "^n" );
			
				iVipsConnected++;
			}
		}
	
		formatex( g_szMessage, sizeof ( g_szMessage ) -1, "%s ( %i )^n%s",
			g_szBeginning, iVipsConnected, szVipsNames );
		
		set_hudmessage( 25, 255, 25, 0.01, 0.25, 0, 0.0, 1.0, 0.1, 0.1, -1 );
		ShowSyncHudMsg( 0, SyncHudMessage, g_szMessage );
	}
	return PLUGIN_CONTINUE;
		
}


public print_adminlist(user) 
{
	if(get_pcvar_num(cvar_vip_showC))
	{
		new tag[32];
		get_pcvar_string(cvar_tag, tag, charsmax(tag));
	
		new adminnames[33][32];
		new message[256];
		new id, count, x, len;


		for(id = 1 ; id <= get_maxplayers() ; id++)
			if(is_user_connected(id))
				if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)
					get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
    
		len = format(message, 255, "^3[%s] ^1VIP-ii online sunt:^4 " ,tag);
		if(count > 0) 
			{
			for(x = 0 ; x < count ; x++) 
				{
				len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
				if(len > 96) 
				{
					print_message(user, message);
					len = format(message, 255, " ");
				}
				}
			print_message(user, message);
			}
		else 
		{
			ColorChat(0, GREEN, "^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag);
		} 
	}
	return PLUGIN_CONTINUE;  
}


print_message(id, msg[]) 
{
	message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
	write_byte(id);
	write_string(msg);
	message_end();
}




public MessageScoreAttrib(iMsgID, iDest, iReceiver) // Display VIP pe TAB
{
    	new iPlayer = get_msg_arg_int(1);
    	if(is_user_connected( iPlayer )
    	&& (get_user_flags( iPlayer ) & ADMIN_GOLD)) 
		{
        		set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
    		}
}


public in(id) 	
{
	if(get_pcvar_num(cvar_vip_in_out))
	{
		new tag[32], name[32];


		get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
		get_user_name(id, name, charsmax(name)); 


		if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)   
		{ 
			ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a conectat.", tag, name); 
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}


public out(id) 	
{	
	if(get_pcvar_num(cvar_vip_in_out))
	{
		new tag[32], name[32];


		get_pcvar_string(cvar_tag, tag, charsmax(tag)); 
		get_user_name(id, name, charsmax(name)); 


		if(get_user_flags(id) & ADMIN_GOLD || get_user_flags(id) & ADMIN_SILVER)   
		{ 
			ColorChat(0, GREEN, "^3[%s] ^1VIP: ^4%s ^1s-a deconectat.", tag, name); 
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}


public client_connect(id) {
	if(get_pcvar_num(Cvar_VIP) !=0 && !(get_user_flags(id) & ADMIN_SILVER))
		set_user_flags(id,get_user_flags(id) + 262144)
}


public client_PreThink(id)
{
	if(!is_user_alive(id)) 
		return PLUGIN_CONTINUE;


	new BUTON = get_user_button(id)
	new OLDBUTON = get_user_oldbutton(id)
	new JUMP_VIP = get_pcvar_num(cvar_vip_jump) 


	if((BUTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP))
	{
		if(((get_user_flags(id) & ADMIN_GOLD) && (jumpnum[id] < JUMP_VIP)))
		{
			dojump[id] = true
			jumpnum[id]++
		}
	}


	if((BUTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		jumpnum[id] = 0
	}


	return PLUGIN_CONTINUE;
}


public client_PostThink(id) 
{
	if(!is_user_alive(id)) 
		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;
}


public client_putinserver(id) 
{	
	set_task(2.0, "in", id)
	jumpnum[id] = 0
	dojump[id] = false
}


public client_disconnect(id)
{
	set_task(2.0, "out", id)
	jumpnum[id] = 0;
	dojump[id] = false;
}


public vip_info(id)
{
	show_motd(id, "/addons/amxmodx/configs/vip_info.html");
}




public eDeathMsg()
{
	new id_Killer = read_data(1);
	new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
	new VIP_MAX_HP = get_user_health(id_Killer);
	new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
	new VIP_MAX_AP = get_user_armor(id_Killer);


	if(is_user_alive(id_Killer))
	{
		if(get_user_flags(id_Killer) & ADMIN_GOLD && read_data(3) == 0)
			{
				set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium));
				set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium));
				cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb))
			}
		if(get_user_flags(id_Killer) & ADMIN_GOLD && read_data(3) == 1)
			{
				set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_premium));
				set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_premium));
				cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb))
			}	
		if(get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == 1 && !(get_user_flags(id_Killer) & ADMIN_GOLD))
			{
				set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill_classic));
				set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill_classic));
				cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mhb))
			}
		if(get_user_flags(id_Killer) & ADMIN_SILVER && read_data(3) == 0 && !(get_user_flags(id_Killer) & ADMIN_GOLD))
			{
				cs_set_user_money(id_Killer,cs_get_user_money(id_Killer) + get_pcvar_num(mkb))
			}
	}
	if(VIP_MAX_HP >= VIP_MAXHP)
		{
			set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));
			return PLUGIN_HANDLED;
		}
	
	if(VIP_MAX_AP >= VIP_MAXAP)
		{
			set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));
			return PLUGIN_HANDLED;
		}


	return PLUGIN_HANDLED;
}


		
	
				
/*
public Gold ( id )
{
	if (get_user_flags(id) & ADMIN_GOLD)
	{
		GoldMenu( id );
		g_iRunda[id] = true
	}
	else
	{
		Chat_Color(id, "%sNu ai acces la aceasta comanda",GoldTag)
		return 1;
	}
	return 0
}


public Silver ( id )
{
	if (get_user_flags(id) & ADMIN_SILVER)
	{
		SilverMenu( id )
		g_iRound[id] = true
	}
	else
	{
		Chat_Color(id, "%sNu ai acces la aceasta comanda",SilverTag)
		return 1;
	}
	return 0
}
*/
public GoldMenu( id )
{	
	/*if(g_iRunda[id])
	{
		Chat_Color(id, "%sAi folosit deja odata,incearca runda urmatoare",GoldTag)
		return 1
	}*/
	
	static menu;
	menu = menu_create ("\yVIPMENU\r Gold","menu_gold");
	
	menu_additem ( menu,"\w M4A1\r +\w Deagle +\rGrenades","1", ADMIN_GOLD)
	menu_additem ( menu,"\w AK47\r +\w Deagle +\rGrenades","2", ADMIN_GOLD)
	menu_additem ( menu,"\w AWP\r +\w Deagle +\rGrenades","3", ADMIN_GOLD)
	
	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y");
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	
	menu_display ( id, menu, 0 );
	return 0;
}


public menu_gold ( id, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		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,1)
			drop_weapons(id,2)
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
			give_item(id, "item_assaultsuit")
			give_item(id, "item_thighpack")
			give_item ( id,"weapon_deagle" );
			cs_set_user_bpammo( id, CSW_DEAGLE, 35 );
			give_item ( id,"weapon_m4a1" )
			cs_set_user_bpammo( id, CSW_M4A1, 90 );
			
		}
		case 2:
		{
			drop_weapons(id,1)
			drop_weapons(id,2)
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
			give_item(id, "item_assaultsuit")
			give_item(id, "item_thighpack")
			give_item ( id,"weapon_deagle" );
			cs_set_user_bpammo( id, CSW_DEAGLE, 35 );                
			give_item ( id,"weapon_ak47" )
			cs_set_user_bpammo( id, CSW_AK47, 90 )
			
		}       
		case 3:
		{
			drop_weapons(id,1)
			drop_weapons(id,2)
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
			give_item(id, "item_assaultsuit")
			give_item(id, "item_thighpack")
			give_item ( id,"weapon_deagle" );
			cs_set_user_bpammo( id, CSW_DEAGLE, 35 );                
			give_item ( id,"weapon_awp" )
			cs_set_user_bpammo( id, CSW_AWP, 30 )
			
		}               
	}
	menu_destroy ( menu );
	return 1;
}


public cmdSpawn(id) {
	if(get_user_flags(id) & ADMIN_GOLD && is_user_alive(id)) {
		if(Activare) 
			GoldMenu( id )
	}
	else if(get_user_flags(id) & ADMIN_SILVER && is_user_alive(id))
	{
		if(Activare) 
			SilverMenu( id )
	}
	
	if(get_pcvar_num(Cvar_VIP) !=0 && !(get_user_flags(id) & ADMIN_SILVER))
		set_user_flags(id,get_user_flags(id) + 262144)


	
} 


public SilverMenu ( id )
{
/*	if(g_iRound[id])
	{
		Chat_Color(id, "%sAi folosit deja odata,incearca runda urmatoare",SilverTag)
		return 1;
	}
*/	
	static menu;
	menu = menu_create ("\yVIPMENU\r Silver","menu_silver");
	
	menu_additem ( menu,"\w M4A1\r +\w Deagle +\rGrenades","1", ADMIN_SILVER)
	menu_additem ( menu,"\w AK47\r +\w Deagle +\rGrenades","2", ADMIN_SILVER)


	menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y");
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	
	menu_display ( id, menu, 0 );
	return 0;
}


public menu_silver ( id, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu );
		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,1)
			drop_weapons(id,2)
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
			give_item(id, "item_assaultsuit")
			give_item(id, "item_thighpack")
			give_item ( id,"weapon_deagle" )
			cs_set_user_bpammo( id, CSW_DEAGLE, 35 )              
			give_item ( id,"weapon_m4a1" )
			cs_set_user_bpammo( id, CSW_M4A1, 90 )
			
		}
		case 2:
		{
			drop_weapons(id,1)
			drop_weapons(id,2)
			give_item(id, "weapon_hegrenade")
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 2)
			give_item(id, "item_assaultsuit")
			give_item(id, "item_thighpack")
			give_item ( id,"weapon_deagle" )
			cs_set_user_bpammo( id, CSW_DEAGLE, 35 )                
			give_item ( id,"weapon_ak47" )
			cs_set_user_bpammo( id, CSW_AK47, 90 )
		}               
	}
	menu_destroy ( menu );
	return PLUGIN_HANDLED
}


public RoundStart( )
{
	Contor++
	if(Contor >= Runda_Arme)
		Activare = true
		
}


stock Chat_Color(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!team", "^3")
	
	if (id) players[0] = id; else get_players(players, count, "ch")
	{
	for (new i = 0; i < count; i++)
	{
		if (is_user_connected(players[i]))
		{
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
			write_byte(players[i]);
			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[i];
		if((dropwhat == 1 && ((1 << WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1 << WeaponID) & SECONDARY_WEAPONS_BIT_SUM )))
		{
			static DropName[32], WeaponEntity;
			get_weaponname(WeaponID, DropName, charsmax(DropName));
			WeaponEntity = fm_find_ent_by_owner(-1, DropName, id);
			set_pev(WeaponEntity, pev_iuser1, cs_get_user_bpammo (id, WeaponID));
			engclient_cmd(id, "drop", DropName);
			cs_set_user_bpammo(id, WeaponID, 0);
		}
	}
}
Serverul impune conditii strict HLDS/REHLDS?: rehlds
Ai cautat pluginul?(daca da, precizeaza cum): da ,Plugin vip gold/silver
Necesita mod special?: clasic
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 23 guests