Raised This Month: $51 Target: $400
 12% 

[Problem] VIP


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
VenomMix
Member
Join Date: Nov 2018
Old 08-05-2019 , 08:40   [Problem] VIP
Reply With Quote #1

I have a problem and I don't know how to solve it.
the plugin works fine, but it's a problem with armor.
if I set 10ap (example), at first I have 110, as is normal, but then, the second round increases by 110 and so on.
Do you know what the problem might be?
Hp working fine.
HTML Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <cc_colorchat>

#define p. "Classic VIP-FIROGINAL.RO"
#define v. "6.0"
#define a. "Jică Măcelaru' aKa. four., Devil, StefaN@CSX"

#define VIP_LEVEL_ACCES ADMIN_LEVEL_F

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

#define REMOVE_FLAGS "r"

new const RMaps[][] = {
	"35hp",
	"35hp_2",
	"31hp",
	"1hp",
	"100hp"
};

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 round[33] = 0;
new g_szMessage[256], cvar_vip_mode, cvar_vip_maxmoney, cvar_vip_maxap, cvar_vip_maxhp, cvar_vip_showC, cvar_vip_showH, cvar_vip_in_out, cvar_tag, cvar_start_hp, cvar_start_ap, cvar_start_money, cvar_vip_jump, cvar_hp_kill, cvar_ap_kill, jumpnum[33], bool: dojump[33], SyncHudMessage;

public plugin_init(){
	register_plugin(p., v., a.);
	
	register_clcmd("say /vip", "vip_info");
	register_clcmd("say", "say_vmenu");
	register_clcmd("say", "handle_say");
	register_clcmd("say_team", "handle_say");

	cvar_vip_mode = register_cvar("amx_vip_mode", "1");	
	cvar_tag = register_cvar("amx_vip_tag", "[VIP]");
	cvar_start_hp = register_cvar("amx_start_hp", "50");
	cvar_start_ap = register_cvar("amx_start_ap", "80");
	cvar_start_money = register_cvar("amx_start_money", "8000");
	cvar_vip_jump = register_cvar("amx_vip_jump", "1" );
	cvar_hp_kill = register_cvar("amx_vip_addhp", "10");	
	cvar_ap_kill = register_cvar("amx_vip_addap", "10");
	cvar_vip_in_out = register_cvar("amx_vip_in_out", "1");
	cvar_vip_showC = register_cvar("amx_vip_show_chat", "1");
	cvar_vip_showH = register_cvar("amx_vip_show_hud", "1");
	cvar_vip_maxhp = register_cvar("amx_vip_maxhp", "180");
	cvar_vip_maxap = register_cvar("amx_vip_maxap", "200");
	cvar_vip_maxmoney = register_cvar("amx_vip_maxmoney", "16000");

	register_event("DeathMsg", "eDeathMsg", "a");
	register_message(get_user_msgid( "ScoreAttrib" ), "MessageScoreAttrib");	
	RegisterHam(Ham_Spawn, "player", "Spawn", 1);	

	set_task(120.0, "mesaj_info", _, _, _, "b");
	set_task(1.0, "TaskDisplayVips", _, _, _, "b", 0);
	SyncHudMessage = CreateHudSyncObj();		
}

public vip_menu(id){
	if(!is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;	
	
	new menu;
	switch(cs_get_user_team(id)){
		case CS_TEAM_T:{
			menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
			menu_additem(menu, "Ak47+Deagle+Set grenăzi", "1");
			menu_additem(menu, "Galil+Deagle+Set grenăzi", "2");
			menu_additem(menu, "Awp+Deagle+Set grenăzi", "3");
		}
		
		case CS_TEAM_CT:{
			menu = menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP", "menu_ammunition");
			menu_additem(menu, "M4a1+Deagle+Set grenăzi", "1");
			menu_additem(menu, "Famas+Deagle+Set grenăzi", "2");
			menu_additem(menu, "Awp+Deagle+Set grenăzi", "3");
		}
	}
	menu_display(id, menu, 0);
	return 1;
}

public menu_ammunition (id, menu, item){
	if(item == MENU_EXIT)
		return 1;

	new access, callback, data[6], szName[64], tag[32];
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	get_pcvar_string(cvar_tag, tag, charsmax(tag));
	new key = str_to_num(data);
		
	if(cs_get_user_team(id) == CS_TEAM_T)
		switch(key){
			case 1:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");
				give_item(id, "weapon_ak47");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_AK47, 90);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}      
			case 2:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");
				give_item(id, "weapon_galil");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_GALIL, 90);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4Galil^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}
			case 3:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");
				give_item(id, "weapon_awp");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				give_item(id, "weapon_smokegrenade");
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_AWP, 30);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}      
	}
	
	if(cs_get_user_team(id) == CS_TEAM_CT)
		switch(key){
			case 1:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");	
				give_item(id, "weapon_m4a1");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_M4A1, 90);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}
			case 2:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");
				give_item(id, "weapon_famas");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_FAMAS, 90);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4Famas^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}
			case 3:{
				drop_weapons(id, 1);
				drop_weapons(id, 2);
				give_item(id, "weapon_knife");
				give_item(id, "weapon_awp");
				give_item(id, "weapon_deagle");
				give_item(id, "weapon_hegrenade");
				give_item(id, "weapon_flashbang");
				cs_set_user_bpammo(id, CSW_HEGRENADE, 1);
				cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
				cs_set_user_bpammo(id, CSW_AWP, 30);
				cs_set_user_bpammo(id, CSW_DEAGLE, 35);
				ColorChat(id, GREEN, "^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1.", tag);
			}      
		}
	menu_destroy(menu);
	return 1;  
}

public Spawn(id) { 
	if(!is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;
		
	if(get_pcvar_num(cvar_vip_mode) == 2){
		if(round[id] >= 4) 
			vip_menu(id);
		
		round[id]++;	
	}

	set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_start_hp));
	set_user_armor(id, get_user_armor(id) + get_pcvar_num(cvar_start_ap));
	cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(cvar_start_money));
	
	new VIP_MAXMONEY = get_pcvar_num(cvar_vip_maxmoney);
	new VIP_MONEY = cs_get_user_money(id);
	
	if(VIP_MONEY >= VIP_MAXMONEY){
		cs_set_user_money(id, get_pcvar_num(cvar_vip_maxmoney));
	}	
	
	new MapName[32]; 
	get_mapname(MapName, sizeof(MapName));
	for (new i = 0; i < sizeof (RMaps); i ++){
		if(equali (MapName, RMaps[i])){
			remove_user_flags (id, read_flags(REMOVE_FLAGS));
		}
	}
	return 1;
}

public client_putinserver(id){
	if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;
		
	set_task(2.0, "in", id);
	
	jumpnum[id] = 0;
	dojump[id] = false;
	round[id] = 0;	
	
	return 1;
}

public client_disconnected(id){
	if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;
		
	set_task(2.0, "out", id);
	
	jumpnum[id] = 0;
	dojump[id] = false;
	round[id] = 0;
	
	return 1;
}

public client_PreThink(id){
	if(!is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES)) 
		return 1;

	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(jumpnum[id] < JUMP_VIP){
			dojump[id] = true;
			jumpnum[id]++
		}
	}

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

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

public eDeathMsg(){
	new id_Killer = read_data(1);
		
	if(!is_user_alive(id_Killer) || !(get_user_flags(id_Killer) & VIP_LEVEL_ACCES)) 
		return 1;

	new VIP_MAXHP = get_pcvar_num(cvar_vip_maxhp);
	new VIP_HP = get_user_health(id_Killer);
	new VIP_MAXAP = get_pcvar_num(cvar_vip_maxap);
	new VIP_AP = get_user_armor(id_Killer);
	
	set_user_health(id_Killer, get_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
	set_user_armor(id_Killer, get_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));

	if(VIP_HP >= VIP_MAXHP) set_user_health(id_Killer, get_pcvar_num(cvar_vip_maxhp));	
	if(VIP_AP >= VIP_MAXAP) set_user_armor(id_Killer, get_pcvar_num(cvar_vip_maxap));

	return 1;
}

public in(id){
	if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;
		
	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)); 

		ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a conectat.", tag, name); 
		return 1;
	}
	
	return 1;
}	

public out(id){
	if(!(get_user_flags(id) & VIP_LEVEL_ACCES))
		return 1;
		
	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)); 
		
		ColorChat(0, GREEN, "^4%s ^1VIP: ^4%s ^1s-a deconectat.", tag, name); 

		return 1;
	}
	
	return 1;
}

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

public mesaj_info(){
	new tag[32];
	get_pcvar_string(cvar_tag, tag, charsmax(tag));
	
	ColorChat(0, GREEN, "^4%s ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului.", tag);
}

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, "");
		iVipsConnected = 0;
	
		static id, i;
		for(i = 0; i < iPlayersNum; i++){
			id = iPlayers[i];
			if(get_user_flags(id) & VIP_LEVEL_ACCES){
				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 0;	
}

public handle_say(id) {
	new said[192];
	read_args(said,192);
	if(contain(said, "/vips") != -1)
	
	set_task(0.1,"print_adminlist",id);
	
	return 0;
}

public say_vmenu(id) {
	new said[192];
	read_args(said,192);
	if(get_pcvar_num(cvar_vip_mode) == 1){
		if(contain(said, "/vmenu") != -1)	
			set_task(0.1, "vip_menu", id);
	}
	return 0;
}

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) & VIP_LEVEL_ACCES)
					get_user_name(id, adminnames[count++], charsmax(adminnames[ ]));
    
		len = format(message, 255, "^4%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, "^4%s ^1Nu sunt ^4VIP^1-i online.", tag);
		}			
	}
	return 0;  
}

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){
    new iPlayer = get_msg_arg_int(1);
    if(is_user_connected(iPlayer) && (get_user_flags(iPlayer) & VIP_LEVEL_ACCES)){
        set_msg_arg_int(2, ARG_BYTE, is_user_alive(iPlayer) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD);
    }
}

stock fm_find_ent_by_owner(entity, const classname[], owner){
	while((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {  }
	return entity;
}

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);
		}
	}
}

Last edited by VenomMix; 08-05-2019 at 08:43.
VenomMix is offline
bad_boy
Member
Join Date: Oct 2018
Old 08-05-2019 , 21:37   Re: [Problem] VIP
Reply With Quote #2

Quote:
Originally Posted by VenomMix View Post
I have a problem and I don't know how to solve it.
the plugin works fine, but it's a problem with armor.
if I set 10ap (example), at first I have 110, as is normal, but then, the second round increases by 110 and so on.
I think it happens because a player armor doesn't reset like the health does. So the armor will actually accumulate.
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <cc_colorchat>

#define p. "Classic VIP-FIROGINAL.RO"
#define v. "6.0"
#define a. "Jică Măcelaru' aKa. four., Devil, StefaN@CSX"

#define VIP_LEVEL_ACCES ADMIN_LEVEL_F

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

#define REMOVE_FLAGS "r"

new const RMaps[][] = {
    
"35hp",
    
"35hp_2",
    
"31hp",
    
"1hp",
    
"100hp"
};

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 
round[33] = 0;
new 
g_szMessage[256], cvar_vip_modecvar_vip_maxmoneycvar_vip_maxapcvar_vip_maxhpcvar_vip_showCcvar_vip_showHcvar_vip_in_outcvar_tagcvar_start_hpcvar_start_apcvar_start_moneycvar_vip_jumpcvar_hp_killcvar_ap_killjumpnum[33], booldojump[33], SyncHudMessage;

public 
plugin_init(){
    
register_plugin(p., v., a.);
    
    
register_clcmd("say /vip""vip_info");
    
register_clcmd("say""say_vmenu");
    
register_clcmd("say""handle_say");
    
register_clcmd("say_team""handle_say");

    
cvar_vip_mode register_cvar("amx_vip_mode""1");    
    
cvar_tag register_cvar("amx_vip_tag""[VIP]");
    
cvar_start_hp register_cvar("amx_start_hp""50");
    
cvar_start_ap register_cvar("amx_start_ap""80");
    
cvar_start_money register_cvar("amx_start_money""8000");
    
cvar_vip_jump register_cvar("amx_vip_jump""1" );
    
cvar_hp_kill register_cvar("amx_vip_addhp""10");    
    
cvar_ap_kill register_cvar("amx_vip_addap""10");
    
cvar_vip_in_out register_cvar("amx_vip_in_out""1");
    
cvar_vip_showC register_cvar("amx_vip_show_chat""1");
    
cvar_vip_showH register_cvar("amx_vip_show_hud""1");
    
cvar_vip_maxhp register_cvar("amx_vip_maxhp""180");
    
cvar_vip_maxap register_cvar("amx_vip_maxap""200");
    
cvar_vip_maxmoney register_cvar("amx_vip_maxmoney""16000");

    
register_event("DeathMsg""eDeathMsg""a");
    
register_message(get_user_msgid"ScoreAttrib" ), "MessageScoreAttrib");    
    
RegisterHam(Ham_Spawn"player""Spawn"1);    

    
set_task(120.0"mesaj_info"___"b");
    
set_task(1.0"TaskDisplayVips"___"b"0);
    
SyncHudMessage CreateHudSyncObj();        
}

public 
vip_menu(id){
    if(!
is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;    
    
    new 
menu;
    switch(
cs_get_user_team(id)){
        case 
CS_TEAM_T:{
            
menu menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP""menu_ammunition");
            
menu_additem(menu"Ak47+Deagle+Set grenăzi""1");
            
menu_additem(menu"Galil+Deagle+Set grenăzi""2");
            
menu_additem(menu"Awp+Deagle+Set grenăzi""3");
        }
        
        case 
CS_TEAM_CT:{
            
menu menu_create("\y[\rVIP Classic\y] \wMeniu \yVIP""menu_ammunition");
            
menu_additem(menu"M4a1+Deagle+Set grenăzi""1");
            
menu_additem(menu"Famas+Deagle+Set grenăzi""2");
            
menu_additem(menu"Awp+Deagle+Set grenăzi""3");
        }
    }
    
menu_display(idmenu0);
    return 
1;
}

public 
menu_ammunition (idmenuitem){
    if(
item == MENU_EXIT)
        return 
1;

    new 
accesscallbackdata[6], szName[64], tag[32];
    
menu_item_getinfo(menuitemaccessdata,charsmax(data), szName,charsmax(szName), callback);
    
get_pcvar_string(cvar_tagtagcharsmax(tag));
    new 
key str_to_num(data);
        
    if(
cs_get_user_team(id) == CS_TEAM_T)
        switch(
key){
            case 
1:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");
                
give_item(id"weapon_ak47");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
cs_set_user_bpammo(idCSW_HEGRENADE1);
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_AK4790);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenazi^1."tag);
            }      
            case 
2:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");
                
give_item(id"weapon_galil");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
cs_set_user_bpammo(idCSW_HEGRENADE1);
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_GALIL90);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4Galil^1+^4Deagle^1+^4Set grenazi^1."tag);
            }
            case 
3:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");
                
give_item(id"weapon_awp");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
give_item(id"weapon_smokegrenade");
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_AWP30);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1."tag);
            }      
    }
    
    if(
cs_get_user_team(id) == CS_TEAM_CT)
        switch(
key){
            case 
1:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");    
                
give_item(id"weapon_m4a1");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
cs_set_user_bpammo(idCSW_HEGRENADE1);
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_M4A190);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenazi^1."tag);
            }
            case 
2:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");
                
give_item(id"weapon_famas");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
cs_set_user_bpammo(idCSW_HEGRENADE1);
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_FAMAS90);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4Famas^1+^4Deagle^1+^4Set grenazi^1."tag);
            }
            case 
3:{
                
drop_weapons(id1);
                
drop_weapons(id2);
                
give_item(id"weapon_knife");
                
give_item(id"weapon_awp");
                
give_item(id"weapon_deagle");
                
give_item(id"weapon_hegrenade");
                
give_item(id"weapon_flashbang");
                
cs_set_user_bpammo(idCSW_HEGRENADE1);
                
cs_set_user_bpammo(idCSW_FLASHBANG2);
                
cs_set_user_bpammo(idCSW_AWP30);
                
cs_set_user_bpammo(idCSW_DEAGLE35);
                
ColorChat(idGREEN"^4%s ^1Ai ales ^4Awp^1+^4Deagle^1+^4Set grenazi^1."tag);
            }      
        }
    
menu_destroy(menu);
    return 
1;  
}

public 
Spawn(id) { 
    if(!
is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;
        
    if(
get_pcvar_num(cvar_vip_mode) == 2){
        if(
round[id] >= 4
            
vip_menu(id);
        
        
round[id]++;    
    }

    
set_user_health(idget_user_health(id) + get_pcvar_num(cvar_start_hp));
    
set_user_armor(idclamp(get_user_armor(id) + get_pcvar_num(cvar_start_ap0200 );
    
cs_set_user_money(idcs_get_user_money(id) + get_pcvar_num(cvar_start_money));
    
    new 
VIP_MAXMONEY get_pcvar_num(cvar_vip_maxmoney);
    new 
VIP_MONEY cs_get_user_money(id);
    
    if(
VIP_MONEY >= VIP_MAXMONEY){
        
cs_set_user_money(idget_pcvar_num(cvar_vip_maxmoney));
    }    
    
    new 
MapName[32]; 
    
get_mapname(MapNamesizeof(MapName));
    for (new 
0sizeof (RMaps); ++){
        if(
equali (MapNameRMaps[i])){
            
remove_user_flags (idread_flags(REMOVE_FLAGS));
        }
    }
    return 
1;
}

public 
client_putinserver(id){
    if(!(
get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;
        
    
set_task(2.0"in"id);
    
    
jumpnum[id] = 0;
    
dojump[id] = false;
    
round[id] = 0;    
    
    return 
1;
}

public 
client_disconnected(id){
    if(!(
get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;
        
    
set_task(2.0"out"id);
    
    
jumpnum[id] = 0;
    
dojump[id] = false;
    
round[id] = 0;
    
    return 
1;
}

public 
client_PreThink(id){
    if(!
is_user_alive(id) || !(get_user_flags(id) & VIP_LEVEL_ACCES)) 
        return 
1;

    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(
jumpnum[id] < JUMP_VIP){
            
dojump[id] = true;
            
jumpnum[id]++
        }
    }

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

public 
client_PostThink(id) {
    if(!
is_user_alive(id)) 
        return 
1;
        
    if(
dojump[id] == true){
        new 
Floatvelocity[3];
        
entity_get_vector(idEV_VEC_velocityvelocity)
        
velocity[2] = random_float(265.0285.0);
        
entity_set_vector(idEV_VEC_velocityvelocity)
        
dojump[id] = false;
    }

    return 
0;
}

public 
eDeathMsg(){
    new 
id_Killer read_data(1);
        
    if(!
is_user_alive(id_Killer) || !(get_user_flags(id_Killer) & VIP_LEVEL_ACCES)) 
        return 
1;

    new 
VIP_MAXHP get_pcvar_num(cvar_vip_maxhp);
    new 
VIP_HP get_user_health(id_Killer);
    new 
VIP_MAXAP get_pcvar_num(cvar_vip_maxap);
    new 
VIP_AP get_user_armor(id_Killer);
    
    
set_user_health(id_Killerget_user_health(id_Killer) + get_pcvar_num(cvar_hp_kill));
    
set_user_armor(id_Killerget_user_armor(id_Killer) + get_pcvar_num(cvar_ap_kill));

    if(
VIP_HP >= VIP_MAXHPset_user_health(id_Killerget_pcvar_num(cvar_vip_maxhp));    
    if(
VIP_AP >= VIP_MAXAPset_user_armor(id_Killerget_pcvar_num(cvar_vip_maxap));

    return 
1;
}

public 
in(id){
    if(!(
get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;
        
    if(
get_pcvar_num(cvar_vip_in_out)){
        new 
tag[32], name[32];

        
get_pcvar_string(cvar_tagtagcharsmax(tag)); 
        
get_user_name(idnamecharsmax(name)); 

        
ColorChat(0GREEN"^4%s ^1VIP: ^4%s ^1s-a conectat."tagname); 
        return 
1;
    }
    
    return 
1;
}    

public 
out(id){
    if(!(
get_user_flags(id) & VIP_LEVEL_ACCES))
        return 
1;
        
    if(
get_pcvar_num(cvar_vip_in_out)){
        new 
tag[32], name[32];

        
get_pcvar_string(cvar_tagtagcharsmax(tag)); 
        
get_user_name(idnamecharsmax(name)); 
        
        
ColorChat(0GREEN"^4%s ^1VIP: ^4%s ^1s-a deconectat."tagname); 

        return 
1;
    }
    
    return 
1;
}

public 
vip_info(idshow_motd(id"/addons/amxmodx/configs/vip_info.html");

public 
mesaj_info(){
    new 
tag[32];
    
get_pcvar_string(cvar_tagtagcharsmax(tag));
    
    
ColorChat(0GREEN"^4%s ^1Tastati in chat ^4/vip ^1pentru a vedea beneficiile si pretul vip-ului."tag);
}

public 
TaskDisplayVips(){
    if(
get_pcvar_num(cvar_vip_showH)){
        static 
iPlayers[32];
        static 
iPlayersNum;
    
        
get_players(iPlayersiPlayersNum"ch");
        if(!
iPlayersNum)
            return 
1;
    
        static 
iVipsConnectedszVipsNames[128], szName[32];
        
formatex(szVipsNamessizeof (szVipsNames) -1"");
        
iVipsConnected 0;
    
        static 
idi;
        for(
0iPlayersNumi++){
            
id iPlayers[i];
            if(
get_user_flags(id) & VIP_LEVEL_ACCES){
                
get_user_name(idszNamesizeof(szName) -1);
                
                
add(szVipsNamessizeof(szVipsNames) -1szName);
                
add(szVipsNamessizeof(szVipsNames) -1"^n");
                
                
iVipsConnected++;
            }    
        }
    
        
formatex(g_szMessagesizeof(g_szMessage) -1"%s (%i)^n%s"g_szBeginningiVipsConnectedszVipsNames);
        
        
set_hudmessage(25255250.010.2500.01.00.10.1, -1);
        
ShowSyncHudMsg(0SyncHudMessageg_szMessage);
    }
    return 
0;    
}

public 
handle_say(id) {
    new 
said[192];
    
read_args(said,192);
    if(
contain(said"/vips") != -1)
    
    
set_task(0.1,"print_adminlist",id);
    
    return 
0;
}

public 
say_vmenu(id) {
    new 
said[192];
    
read_args(said,192);
    if(
get_pcvar_num(cvar_vip_mode) == 1){
        if(
contain(said"/vmenu") != -1)    
            
set_task(0.1"vip_menu"id);
    }
    return 
0;
}

public 
print_adminlist(user){
    if(
get_pcvar_num(cvar_vip_showC)){
        new 
tag[32];
        
get_pcvar_string(cvar_tagtagcharsmax(tag));
    
        new 
adminnames[33][32];
        new 
message[256];
        new 
idcountxlen;

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

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

public 
MessageScoreAttrib(iMsgIDiDestiReceiver){
    new 
iPlayer get_msg_arg_int(1);
    if(
is_user_connected(iPlayer) && (get_user_flags(iPlayer) & VIP_LEVEL_ACCES)){
        
set_msg_arg_int(2ARG_BYTEis_user_alive(iPlayer) ? SCOREATTRIB_VIP SCOREATTRIB_DEAD);
    }
}

stock fm_find_ent_by_owner(entity, const classname[], owner){
    while((
entity engfunc(EngFunc_FindEntityByStringentity"classname"classname)) && pev(entitypev_owner) != owner) {  }
    return 
entity;
}

stock drop_weapons(iddropwhat){
    static 
Weapons[32], NumiWeaponID;
    
Num 0;
    
get_user_weapons(idWeaponsNum);
    for(
0Num++){
        
WeaponID Weapons[i];
        if((
dropwhat == && ((<< WeaponID) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == && ((<< WeaponID) & SECONDARY_WEAPONS_BIT_SUM ))){
            static 
DropName[32], WeaponEntity;
            
get_weaponname(WeaponIDDropNamecharsmax(DropName));
            
WeaponEntity fm_find_ent_by_owner(-1DropNameid);
            
set_pev(WeaponEntitypev_iuser1cs_get_user_bpammo (idWeaponID));
            
engclient_cmd(id"drop"DropName);
            
cs_set_user_bpammo(idWeaponID0);
        }
    }


Last edited by bad_boy; 08-05-2019 at 23:11.
bad_boy is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:56.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode