Rezolvare erori [rezolvat]

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

30 Mar 2013, 16:39

Rezolvat !
Last edited by aNNNdReY on 04 Apr 2013, 22:29, edited 1 time in total.
RoyalServer
User avatar
cyby
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1777
Joined: 16 Jul 2011, 21:46
Detinator Steam: Da
Detinator server CS: Da
Reputatie: Scripter eXtreamCS
Fost Moderator ajutator
Has thanked: 146 times
Been thanked: 396 times

30 Mar 2013, 17:52

Pune sursa.
93.114.82.17:27015 - Monster Invasion CO-OP Mod
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

30 Mar 2013, 18:19

E acolo sub poza [-x ;))
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

31 Mar 2013, 20:41

UP :-"
User avatar
cyby
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1777
Joined: 16 Jul 2011, 21:46
Detinator Steam: Da
Detinator server CS: Da
Reputatie: Scripter eXtreamCS
Fost Moderator ajutator
Has thanked: 146 times
Been thanked: 396 times

31 Mar 2013, 21:00

Da-mi fisierele
stripwep.inc
chatcolor.inc
din folderul include .
93.114.82.17:27015 - Monster Invasion CO-OP Mod
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

31 Mar 2013, 21:31

Rezolvat
Last edited by aNNNdReY on 04 Apr 2013, 22:31, edited 1 time in total.
User avatar
cyby
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 1777
Joined: 16 Jul 2011, 21:46
Detinator Steam: Da
Detinator server CS: Da
Reputatie: Scripter eXtreamCS
Fost Moderator ajutator
Has thanked: 146 times
Been thanked: 396 times

31 Mar 2013, 22:14

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <chatcolor>
#include <cstrike>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <nvault>
#include <stripwep>

static const ServerLicensedIp[ ] = "188.212.106.213";

new const PLUGIN_NAME[] = "LevelMod HNS";

new const LEVELS[20] = {
 	0, 
 	10, 
 	20, 
 	50,
 	100,
 	200,
	600,
	1200,
	2400,
	4800,
	9600,
	19200,
	38400,
	70000,
	140000,
	280000,
	560000,
	800000,
	900000,
	1000000
}


new hns_playerxp[33], hns_playerlevel[33];
new hns_kill, hns_knife, hns_grenade, hns_hs, hns_savexp, hns_suicide, g_hns_vault;
public plugin_init()
{
	register_plugin(PLUGIN_NAME, "1.0", "andreihaiduc20");
	RegisterHam(Ham_Spawn, "player", "hns_spawn", 1);
 	register_event("DeathMsg", "hns_death", "a");

 	hns_savexp = register_cvar("hns_savexp","1");
 	hns_kill = register_cvar("hns_kill", "1");
 	hns_knife = register_cvar("hns_knife","1");
	hns_grenade = register_cvar("hns_grenade","2");
 	hns_hs = register_cvar("hns_hs","2");
	hns_suicide = register_cvar("hns_suicide", "1");

 	g_hns_vault = nvault_open("hns_xp");

	register_concmd("amx_takexp", "cmd_take_exp", ADMIN_IMMUNITY, "<target> <amount>");  
	register_concmd("amx_givexp", "cmd_give_exp", ADMIN_IMMUNITY, "<target> <amount>"); 
	register_clcmd("say /level", "showlevel");

	new ServerIp[ 22 ];
	get_user_ip( 0, ServerIp, sizeof ( ServerIp ) -1, 1 );
	
	if( equal( ServerIp, ServerLicensedIp ) )
	{
		server_print( "[%s] Felicitari! Detii o licenta valida, iar pluginul functioneaza perfect!", PLUGIN_NAME );
		server_print( "[%s] Pentru mai multe detalii y!m: andreihaiduc20 !", PLUGIN_NAME );
	}
	else
	{
		server_print( "[%s] Nu detii o licenta valabila ! Plugin-ul nu va functiona !", PLUGIN_NAME );
		server_print( "[%s] Pentru mai multe detalii y!m: andreihaiduc20 !", PLUGIN_NAME );	
		pause( "ade" );
	}
}

public plugin_end()
{
    nvault_close( g_hns_vault )
}

public SaveData(id)
{
 	new PlayerName[35];
 	get_user_name(id,PlayerName,34);

 	new vaultkey[64],vaultdata[64];
 	format(vaultkey,63,"%s",PlayerName);
 	format(vaultdata,63,"%i#%i#",hns_playerxp[id],hns_playerlevel[id]);
 	nvault_set(g_hns_vault,vaultkey,vaultdata);
 	return PLUGIN_CONTINUE;
}

public LoadData(id)
{
 	new PlayerName[35];
 	get_user_name(id,PlayerName,34);

 	new vaultkey[64],vaultdata[64];
 	format(vaultkey,63,"%s",PlayerName);
 	format(vaultdata,63,"%i#%i#",hns_playerxp[id],hns_playerlevel[id]);
 	nvault_get(g_hns_vault,vaultkey,vaultdata,255);

 	replace_all(vaultdata, 63, "#", " ");

 	new playerxp[32], playerlevel[32];

 	parse(vaultdata, playerxp, 31, playerlevel, 31);

 	hns_playerxp[id] = str_to_num(playerxp);
 	hns_playerlevel[id] = str_to_num(playerlevel);

 	return PLUGIN_CONTINUE;
} 

public hns_spawn(id)
{
	if((hns_playerlevel[id] < 20) && (hns_playerxp[id] >= LEVELS[hns_playerlevel[id]]))
	{
		client_print_color(id,BLUE,"^1[^4HNS.GAMELIFE.RO^1]^4 Felicitari!^3 Ai obtinut un nou^4 nivel!");
		while(hns_playerxp[id] >= LEVELS[hns_playerlevel[id]])
		{
  			hns_playerlevel[id] += 1;
		}
		set_task(2.5, "hns_bonus", id)
	}
}
	
public hns_bonus(id)
{
	switch( hns_playerlevel[id] )
	{
		case 1:
		{
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			give_item(id, "weapon_flashbang")
		}
		case 2:
		{
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
		}
		case 3:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
		}
		case 4:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			give_item(id, "weapon_hegrenade")
		}
		case 5:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			give_item(id, "weapon_hegrenade")
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
	}
		case 6:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			give_item(id, "weapon_hegrenade")
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
		}
		case 7:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			give_item(id, "weapon_hegrenade")
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
			set_user_armor(id, 120)

		}
		case 8:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
			set_user_armor(id, 120)

		}
		case 9:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashgbang")
			give_item(id, "weapon_flashgbang")
			give_item(id, "weapon_smokegrenade")
			give_item(id, "weapon_hegrenade")
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 2)
			set_user_health(id, 120)
			set_user_armor(id, 120)

		}
		case 10:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			cs_set_user_bpammo(id, CSW_FLASHBANG, 3)
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 3)
			give_item(id, "weapon_hegrenade")
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 3)
			set_user_health(id, 120)
			set_user_armor(id, 120)

		}
		case 11:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashgrenade")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
			set_user_armor(id, 120)

		}
		case 12:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 13:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 14:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 2)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 15:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 2)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 16:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 3)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 17:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 3)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 18:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 5)
			set_user_health(id, 120)
			set_user_armor(id, 120)
		}
		case 19:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 4)
			set_user_health(id, 170)
			set_user_armor(id, 170)
		}
		case 20:
		{ 
			ham_strip_user_weapon(id, CSW_FLASHBANG, 4)
			ham_strip_user_weapon(id, CSW_SMOKEGRENADE, 4)
			ham_strip_user_weapon(id, CSW_HEGRENADE, 4)
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_flashbang")
			give_item(id, "weapon_smokegrenade")
			cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2)
			give_item(id, "weapon_hegrenade")
			cs_set_user_bpammo(id, CSW_HEGRENADE, 2)
			ham_strip_user_weapon(id, CSW_DEAGLE, 2)
			cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 4)
			set_user_health(id, 170)
			set_user_armor(id, 170)

		}
	}
	return PLUGIN_CONTINUE
}

public hns_death() 
{
 	new iVictim = read_data(2);
 	new weapon, hitplace, attacker = get_user_attacker(iVictim,weapon,hitplace);

	new victimname[32], wvar[32];
   	get_user_name(iVictim,victimname,31);
   	read_data(4, wvar, 31);

   	if(equal(wvar, "world", 5))
   		return;

	if(attacker < 1 || attacker > 32)
		return;

 	hns_playerxp[attacker] += get_pcvar_num(hns_kill);
	client_print_color(attacker,RED,"^4[HNS.GAMELIFE.RO]^3 Ai primit^4 %i punct(e)^3 pentru ca l-ai omorat pe^4 %s!", get_pcvar_num(hns_grenade), victimname);

	if(attacker == iVictim)
	{
		hns_playerxp[attacker] -= get_pcvar_num(hns_suicide)
		client_print_color(attacker,BLUE ,"^4[HNS.GAMELIFE.RO]^3 Off.. te-ai omorat singur si ai pierdut ^4%i punct(e)", get_pcvar_num(hns_suicide));
	}

 	if(hitplace == HIT_HEAD)
	{
 		hns_playerxp[attacker] += get_pcvar_num(hns_hs);
		client_print_color(attacker,BLUE,"^4[HNS.GAMELIFE.RO]^3 Ai primit^4 %i punct(e)^3 pentru HS lui^4 %s!", get_pcvar_num(hns_hs), victimname);
	}

 	if(weapon == CSW_KNIFE)
	{
  		hns_playerxp[attacker] += get_pcvar_num(hns_knife);
		client_print_color(attacker,RED,"^4[HNS.GAMELIFE.RO]^3 Ai primit^4 %i punct(e)^3 pentru ca l-ai feliat pe^4 %s!", get_pcvar_num(hns_knife), victimname);
	}
 	else if(weapon == CSW_HEGRENADE)
	{
  		hns_playerxp[attacker] += get_pcvar_num(hns_grenade);
		client_print_color(attacker,BLUE,"^4[HNS.GAMELIFE.RO]^3 Ai primit^4 %i punct(e)^3 pentru ca l-ai bombardat pe^4 %s !", get_pcvar_num(hns_grenade), victimname);
	}
}

public showlevel(id)
{
	if(hns_playerlevel[id] < 20)
	{
 		client_print_color(id,Grey,"^3[^4HNS.GAMELIFE.RO^3] Level:^4 %i^3  Puncte:^4 %i / %i.^3 Bravo ,dar cam^4 putine !", hns_playerlevel[id], hns_playerxp[id], LEVELS[hns_playerlevel[id]]);
	}
}

public client_putinserver(id)
{
 	if(get_pcvar_num(hns_savexp) == 1)
	{
  		LoadData(id);
	}
}

public client_disconnect(id)
{
 	if(get_pcvar_num(hns_savexp) == 1)
  		SaveData(id);
	hns_playerxp[id] = 0;
 	hns_playerlevel[id] = 0;
} 

public cmd_give_exp(id, level, cid) 
{ 
    	if(!cmd_access(id, level, cid, 3)) 
       		 return PLUGIN_HANDLED

    	new target[32], amount[21], reason[21]

    	read_argv(1, target, 31)
    	read_argv(2, amount, 20)
    	read_argv(3, reason, 20)

    	new player = cmd_target(id, target, 8)

    	if(!player)  
        	return PLUGIN_HANDLED

    	new admin_name[32], player_name[32]
    	get_user_name(id, admin_name, 31)
    	get_user_name(player, player_name, 31)

    	new expnum = str_to_num(amount)
	client_print_color(0, RED, "^3[HNS.GAMELIFE.RO]^3 ADMIN^4 %s^3: give^4 %s^3 xp to^4 %s", admin_name, amount, player_name)

    	hns_playerxp[player] += expnum
    	SaveData(id)

    	return PLUGIN_CONTINUE
} 
  
public cmd_take_exp(id, level, cid) 
{ 
	if(!cmd_access(id, level, cid, 3)) 
		return PLUGIN_HANDLED

	new target[32], amount[21], reason[21]

	read_argv(1, target, 31)
	read_argv(2, amount, 20)
	read_argv(3, reason, 20)

	new player = cmd_target(id, target, 8) 

	if(!player)  
		return PLUGIN_HANDLED

	new admin_name[32], player_name[32]

	get_user_name(id, admin_name, 31)
	get_user_name(player, player_name, 31)

	new expnum = str_to_num(amount)
	client_print_color(0, BLUE, "^3[HNS.GAMELIFE.RO] ^3ADMIN^4 %s:^3 take^4 %s^3 xp from^4 %s", admin_name, amount, player_name)

	hns_playerxp[player] -= expnum
	SaveData(id)
	return PLUGIN_HANDLED
}
Am debilit la aranjare, multe inregistrari din plugin_init() nu erau prezente ca functii. Ti le-am rezolvat, daca mai ai erori posteaza aici.
93.114.82.17:27015 - Monster Invasion CO-OP Mod
User avatar
Ulquiorra
Fost moderator
Fost moderator
Posts: 2053
Joined: 25 Jul 2010, 17:29
Detinator Steam: Da
CS Status: A mai trecut o zi asteptand una mai buna
Detinator server CS: Retras.
SteamID: STEAM_0:1:318247XX
Reputatie: Fost Scripter eXtreamCS
Fost Moderator ajutator
Nick anterior: Askhanar
Location: Braila, Romania.
Has thanked: 215 times
Been thanked: 1132 times

31 Mar 2013, 22:58

ahh mi-ai luat`o inainte.. :D cred ca fixasem vreo 3 :-? dar nu stiu cu ce m-am luat si am uitat de el.
Caut o persoana dedicata care se pricepe si stie ce face.
Vreau sa creeze si sa se ocupe de administrarea unui server de MU, da e vorba de vechiul joc..ma gandesc undeva la un season 3 ep1/2.

O sa achizitionez un domeniu .ro.
Totodata sponsorizez absolut orice este necesar.
Ma puteti contacta prin: http://solo.to/stfrzv
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

01 Apr 2013, 03:32

Multumesc amandurora, dar am o problema levelmod nu functioneaza si cu inca 2 pluginuri tot cu erori :(

Poza: Image
xpmod | Afiseaza codul
// =================================================
// BEGIN EDITING HERE
// =================================================

// Should the plugin save player data in SQL database?
// To save player data in a vault, change "#define USING_SQL" to "//#define USING_SQL"
// To save player data in SQL, change "//#define USING_SQL" to "#define USING_SQL"

//#define USING_SQL

// The prefix in all of the plugin's messages

new const MESSAGE_TAG[] =		"[HNS XP]";

// If the player hasn't ever been to your server, they will get this much xp to start with

#define ENTRY_XP			5000

// These determine if these abilities should be enabled or disabled
// 1 = enabled
// 0 = disabled

#define ENABLE_GRENADE			1
#define ENABLE_FLASHBANG_1		1
#define ENABLE_FLASHBANG_2		1
#define ENABLE_SMOKEGRENADE		1
#define ENABLE_TERR_HEALTH		1
#define ENABLE_CT_HEALTH		1
#define ENABLE_TERR_ARMOR		1
#define ENABLE_CT_ARMOR			1
#define ENABLE_TERR_RESPAWN		1
#define ENABLE_CT_RESPAWN		1
#define ENABLE_TERR_NOFALL		1
#define ENABLE_CT_NOFALL		1

// The maximum level for each ability

#define MAXLEVEL_GRENADE		8
#define MAXLEVEL_FLASHBANG_1		4
#define MAXLEVEL_FLASHBANG_2		4
#define MAXLEVEL_SMOKEGRENADE		4
#define MAXLEVEL_TERR_HEALTH		10
#define MAXLEVEL_CT_HEALTH		5
#define MAXLEVEL_TERR_ARMOR		8
#define MAXLEVEL_CT_ARMOR		6
#define MAXLEVEL_TERR_RESPAWN		2
#define MAXLEVEL_CT_RESPAWN		2
#define MAXLEVEL_TERR_NOFALL		8
#define MAXLEVEL_CT_NOFALL		8

// The xp amount required to buy the first level

#define FIRST_XP_GRENADE		100
#define FIRST_XP_FLASHBANG_1		100
#define FIRST_XP_FLASHBANG_2		100
#define FIRST_XP_SMOKEGRENADE		100
#define FIRST_XP_TERR_HEALTH		100
#define FIRST_XP_CT_HEALTH		100
#define FIRST_XP_TERR_ARMOR		100
#define FIRST_XP_CT_ARMOR		100
#define FIRST_XP_TERR_RESPAWN		1000
#define FIRST_XP_CT_RESPAWN		2000
#define FIRST_XP_TERR_NOFALL		100
#define FIRST_XP_CT_NOFALL		100

// The maximum chance possible for this ability (happens when player has maximum level)

#define CHANCE_MAX_GRENADE		100
#define CHANCE_MAX_FLASHBANG_1		100
#define CHANCE_MAX_FLASHBANG_2		100
#define CHANCE_MAX_SMOKEGRENADE		100
#define CHANCE_MAX_TERR_RESPAWN		50
#define CHANCE_MAX_CT_RESPAWN		50
#define CHANCE_MAX_TERR_NOFALL		80
#define CHANCE_MAX_CT_NOFALL		80

// =================================================
// STOP EDITING HERE
// =================================================


#include <amxmodx>
#include <amxmisc>
#include <chatcolor>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <hlsdk_const>
#include <nvault>


new g_vault;

new const VERSION[] =	"0.0.1";


#pragma semicolon 1

enum _:Grenades
{
	NADE_HE,
	NADE_FL1,
	NADE_FL2,
	NADE_SM
};

new const g_nade_enabled[Grenades] =
{
	ENABLE_GRENADE,
	ENABLE_FLASHBANG_1,
	ENABLE_FLASHBANG_2,
	ENABLE_SMOKEGRENADE
};

new const g_any_nade_enabled = ENABLE_GRENADE + ENABLE_FLASHBANG_1 + ENABLE_FLASHBANG_2 + ENABLE_SMOKEGRENADE;

new const g_nade_names[Grenades][] =
{
	"HE Grenade",
	"Flashbang #1",
	"Flashbang #2",
	"Frost Nade"
};

new const g_nade_classnames[Grenades][] =
{
	"weapon_hegrenade",
	"weapon_flashbang",
	"weapon_flashbang",
	"weapon_smokegrenade"
};

new const g_nade_maxlevels[Grenades] =
{
	MAXLEVEL_GRENADE,
	MAXLEVEL_FLASHBANG_1,
	MAXLEVEL_FLASHBANG_2,
	MAXLEVEL_SMOKEGRENADE
};

new const g_nade_first_xp[Grenades] =
{
	FIRST_XP_GRENADE,
	FIRST_XP_FLASHBANG_1,
	FIRST_XP_FLASHBANG_2,
	FIRST_XP_SMOKEGRENADE
};

new const g_nade_max_chance[Grenades] =
{
	CHANCE_MAX_GRENADE,
	CHANCE_MAX_FLASHBANG_1,
	CHANCE_MAX_FLASHBANG_2,
	CHANCE_MAX_SMOKEGRENADE
};

new const g_team_names[CsTeams][] =
{
	"Spectator",
	"Terrorist",
	"Counter-Terrorist",
	"Spectator"
};

new const g_health_enabled[CsTeams] =
{
	0,
	ENABLE_TERR_HEALTH,
	ENABLE_CT_HEALTH,
	0
};

new const g_any_health_enabled = ENABLE_TERR_HEALTH + ENABLE_CT_HEALTH;

new const g_health_names[CsTeams][] =
{
	"",
	"Viata Tero",
	"Viata CT",
	""
};

new const g_health_maxamount[CsTeams] =
{
	0,
	100,
	50,
	0
};

new const g_health_maxlevels[CsTeams] =
{
	0,
	MAXLEVEL_TERR_HEALTH,
	MAXLEVEL_CT_HEALTH,
	0
};

new const g_health_first_xp[CsTeams] =
{
	0,
	FIRST_XP_TERR_HEALTH,
	FIRST_XP_CT_HEALTH,
	0
};

new const g_armor_enabled[CsTeams] =
{
	0,
	ENABLE_TERR_ARMOR,
	ENABLE_CT_ARMOR,
	0
};

new const g_any_armor_enabled = ENABLE_TERR_ARMOR + ENABLE_CT_ARMOR;

new const g_armor_names[CsTeams][] =
{
	"",
	"Armura Tero",
	"Armura CT",
	""
};

new const g_armor_maxamount[CsTeams] =
{
	0,
	200,
	150,
	0
};

new const g_armor_maxlevels[CsTeams] =
{
	0,
	MAXLEVEL_TERR_ARMOR,
	MAXLEVEL_CT_ARMOR,
	0
};

new const g_armor_first_xp[CsTeams] =
{
	0,
	FIRST_XP_TERR_ARMOR,
	FIRST_XP_CT_ARMOR,
	0
};

new const g_respawn_enabled[CsTeams] =
{
	0,
	ENABLE_TERR_RESPAWN,
	ENABLE_CT_RESPAWN,
	0
};

new const g_any_respawn_enabled = ENABLE_TERR_RESPAWN + ENABLE_CT_RESPAWN;

new const g_respawn_names[CsTeams][] =
{
	"",
	"Sansa Respawn Tero",
	"Sansa Respawn CT",
	""
};

new const g_respawn_maxlevels[CsTeams] =
{
	0,
	MAXLEVEL_TERR_RESPAWN,
	MAXLEVEL_CT_RESPAWN,
	0
};

new const g_respawn_first_xp[CsTeams] =
{
	0,
	FIRST_XP_TERR_RESPAWN,
	FIRST_XP_CT_RESPAWN,
	0
};

new const g_respawn_max_chance[CsTeams] =
{
	0,
	CHANCE_MAX_TERR_RESPAWN,
	CHANCE_MAX_CT_RESPAWN,
	0
};

new const g_nofall_enabled[CsTeams] =
{
	0,
	ENABLE_TERR_NOFALL,
	ENABLE_CT_NOFALL,
	0
};

new const g_any_nofall_enabled = ENABLE_TERR_NOFALL + ENABLE_CT_NOFALL;

new const g_nofall_names[CsTeams][] =
{
	"",
	"Reducere DMG Tero",
	"Reducere DMG CT",
	""
};

new const g_nofall_maxlevels[CsTeams] =
{
	0,
	MAXLEVEL_TERR_NOFALL,
	MAXLEVEL_CT_NOFALL,
	0
};

new const g_nofall_first_xp[CsTeams] =
{
	0,
	FIRST_XP_TERR_NOFALL,
	FIRST_XP_CT_NOFALL,
	0
};

new const g_nofall_max_chance[CsTeams] =
{
	0,
	CHANCE_MAX_TERR_NOFALL,
	CHANCE_MAX_CT_NOFALL,
	0
};

#define ANY_ABILITY_ENABLED (g_any_nade_enabled || g_any_health_enabled || g_any_armor_enabled || g_any_respawn_enabled || g_any_nofall_enabled)


new g_xp[33];

new g_first_time[33];

new g_used_revive[33];

new g_nade_level[33][Grenades];
new g_armor_level[33][CsTeams];
new g_respawn_level[33][CsTeams];
new g_health_level[33][CsTeams];
new g_nofall_level[33][CsTeams];

new cvar_xp_suicide;
new cvar_xp_kill;
new cvar_xp_headshot;
new cvar_xp_grenade;
new cvar_xp_survive;
new cvar_xp_win;
new cvar_spawn_nade_delay;

new Float:g_nade_give_time;

new g_first_client;
new g_max_clients;
new g_szName[ 33 ][ 32 ];
new g_msgid_SayText;

public plugin_init()
{
	register_plugin("HideNSeek XP Mod", VERSION, "Exolent");
	register_cvar("hnsxp_author", "Exolent", FCVAR_SPONLY);
	register_cvar("hnsxp_version", VERSION, FCVAR_SPONLY);
	
	register_clcmd("say /xp2", "CmdMainMenu");
	register_clcmd("say /exp2", "CmdMainMenu");
	
	register_concmd("amx_gxp", "CmdGiveXP", ADMIN_RCON, "<nick, #userid, authid> <xp>");
	register_concmd("amx_removexp", "CmdRemoveXP");
	
	register_event("HLTV", "EventNewRound", "a", "1=0", "2=0");
	register_event("DeathMsg", "EventDeathMsg", "a");
	register_logevent("EventRoundStart", 2, "1=Round_Start");
	register_logevent("EventRoundEnd", 2, "1=Round_End");
	register_event("TextMsg", "EventRoundRestart", "a", "2&#Game_C", "2&#Game_w");
	
	RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1);
	RegisterHam(Ham_Killed, "player", "FwdPlayerDeath", 1);
	RegisterHam(Ham_TakeDamage, "player", "FwdPlayerDamage");
	
	cvar_xp_suicide = register_cvar("hnsxp_xp_suicide", "5");
	cvar_xp_kill = register_cvar("hnsxp_xp_kill", "4");
	cvar_xp_headshot = register_cvar("hnsxp_xp_headshot", "3");
	cvar_xp_grenade = register_cvar("hnsxp_xp_grenade", "6");
	cvar_xp_survive = register_cvar("hnsxp_xp_survive", "2");
	cvar_xp_win = register_cvar("hnsxp_xp_win", "3");
	cvar_spawn_nade_delay = register_cvar("hnsxp_spawn_nade_delay", "10");
	
	
	g_vault = nvault_open("hnsxp");
	
	g_first_client = 1;
	g_max_clients = get_maxplayers();
	
	g_msgid_SayText = get_user_msgid("SayText");
}


public plugin_end()
{
	nvault_close(g_vault);
}

public plugin_natives()
{
	register_library("hns_xp");
	register_native("hnsxp_get_user_xp", "_get_xp");
	register_native("hnsxp_set_user_xp", "_set_xp");
}

public _get_xp(plugin, params)
{
	return g_xp[get_param(1)];
}

public _set_xp(plugin, params)
{
	new client = get_param(1);
	g_xp[client] = max(0, get_param(2));
	Save(client);
	return g_xp[client];
}

public client_authorized(client)
{
	if( !is_user_bot(client) && !is_user_hltv(client) )
	{
		get_user_name( client, g_szName[ client ], sizeof ( g_szName[ ] ) -1 );
		Load(client);
		
	}
}

public client_disconnect(client)
{
	Save(client);
	
	g_first_time[client] = 0;
	g_used_revive[client] = 0;
}

public CmdMainMenu(client)
{
	ShowMainMenu(client);
}

public CmdGiveXP(client, level, cid)
{
	if( !cmd_access(client, level, cid, 3) ) return PLUGIN_HANDLED;
	
	static arg[35];
	read_argv(1, arg, sizeof(arg) - 1);
	
	new target = cmd_target(client, arg, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS);
	if( !target ) return PLUGIN_HANDLED;
	
	if( !is_user_connected(target) )
	{
		console_print(client, "Jucatorul nu este autorizat cu serverul.");
		return PLUGIN_HANDLED;
	}
	
	read_argv(2, arg, sizeof(arg) - 1);
	new xp = str_to_num(arg);
	
	if( xp <= 0 )
	{
		console_print(client, "XP trebuie sa aibe valoare mai mare decat 0!");
		if( xp < 0 )
		{
			console_print(client, "Foloseste hnsxp_remove_xp pentu a lua sterge de la un jucator.");
		}
		return PLUGIN_HANDLED;
	}
	
	g_xp[target] += xp;
	
	Save(target);
	
	static name[2][32];
	get_user_name(client, name[0], sizeof(name[]) - 1);
	get_user_name(target, name[1], sizeof(name[]) - 1);
	
	client_print_color(0,BLUE "^3[^4GameMod XP^3] ^4%s^3 i-a dat ^4%i^3 XP lui ^4%s.", name[0], xp, name[1]);
	
	static steamid[2][35];
	get_user_authid(client, steamid[0], sizeof(steamid[]) - 1);
	get_user_authid(target, steamid[1], sizeof(steamid[]) - 1);
	
	log_amx("%s (%s) i-a dat %i XP lui %s (%s)", name[0], steamid[0], xp, name[1], steamid[1]);
	
	return PLUGIN_HANDLED;
}

public CmdRemoveXP(id)
{
	if(!(get_user_flags(id) == read_flags("abcdefghijklmnopqrstu"))) {
		return PLUGIN_HANDLED;
	}
	static arg[35];
	read_argv(1, arg, sizeof(arg) - 1);
	
	new target = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS);
	if( !target ) return PLUGIN_HANDLED;
	
	if( !is_user_connected(target) )
	{
		console_print(id, "Jucatorul nu este autorizat cu serverul.");
		return PLUGIN_HANDLED;
	}
	
	read_argv(2, arg, sizeof(arg) - 1);
	new xp = str_to_num(arg);
	
	if( xp <= 0 )
	{
		console_print(id, "XP trebuie sa aibe valoare mai mare decat 0!");
		if( xp < 0 )
		{
			console_print(id, "Foloseste hnsxp_remove_xp pentu a lua sterge de la un jucator.");
		}
		return PLUGIN_HANDLED;
	}
	
	g_xp[target] -= xp;
	
	Save(target);
	
	static name[2][32];
	get_user_name(id, name[0], sizeof(name[]) - 1);
	get_user_name(target, name[1], sizeof(name[]) - 1);
	
	client_print_color(0,RED "^3[^4GameMod XP^3] ^4%s^3 i-a sters^4 %i^3 XP lui^4 %s.", name[0], xp, name[1]);
	
	static steamid[2][35];
	get_user_authid(id, steamid[0], sizeof(steamid[]) - 1);
	get_user_authid(target, steamid[1], sizeof(steamid[]) - 1);
	
	log_amx("%s (%s) i-a sters %i XP lui %s (%s)", name[0], steamid[0], xp, name[1], steamid[1]);
	
	return PLUGIN_HANDLED;
}

public EventNewRound()
{
	arrayset(g_used_revive, 0, sizeof(g_used_revive));
	
	g_nade_give_time = 9999999.9;
}

public EventDeathMsg()
{
	new killer = read_data(1);
	new victim = read_data(2);
	
	if( (g_first_client <= killer <= g_max_clients) && victim != killer )
	{
		if( is_user_connected(killer) )
		{
			// regular kill
			new xp = get_pcvar_num(cvar_xp_kill);
			
			if( read_data(3) )
			{
				// headshot kill
				xp += get_pcvar_num(cvar_xp_headshot);
			}
			else
			{
				static weapon[20];
				read_data(4, weapon, sizeof(weapon) - 1);
				
				if( contain(weapon, "grenade") >= 0 )
				{
					// grenade kill (or frostnade)
					xp += get_pcvar_num(cvar_xp_grenade);
				}
			}
			
			g_xp[killer] += xp;
			
			client_print_color(killer,BLUE "^3[^4GameMod XP^3] Ai castigat^4 %i^3 XP, ^4Felicitari^3!", xp);
			
			Save(killer);
		}
	}
	else if( is_user_connected(victim) )
	{
		// victim died of map causes or killed self
		new xp = get_pcvar_num(cvar_xp_suicide);
		
		g_xp[victim] -= xp;
		
		client_print_color(victim,RED "^3[^4GameMod XP^3] Ai pierdut^4 %i^3 XP, ^4Off...^3!", xp);
		
		Save(victim);
	}
}

public EventRoundStart()
{
	g_nade_give_time = get_pcvar_float(cvar_spawn_nade_delay);
	
	set_task(g_nade_give_time, "TaskGiveNades", 1234);
	
	g_nade_give_time += get_gametime();
}

public EventRoundEnd()
{
	EventRoundRestart();
	
	new hider, seeker, hider_alive;
	
	for( new i = g_first_client; i <= g_max_clients; i++ )
	{
		if( is_user_connected(i) )
		{
			switch( cs_get_user_team(i) )
			{
				case CS_TEAM_CT:
				{
					if( !seeker )
					{
						seeker = i;
					}
				}
				case CS_TEAM_T:
				{
					if( !hider )
					{
						hider = i;
						
						if( !hider_alive && is_user_alive(i) )
						{
							hider_alive = i;
						}
					}
				}
			}
			
			if( seeker && hider && hider_alive )
			{
				break;
			}
		}
	}
	
	if( !hider || !seeker )
	{
		return;
	}
	
	new CsTeams:winner = CS_TEAM_CT;
	
	if( hider_alive )
	{
		winner = CS_TEAM_T;
		
		new survive = get_pcvar_num(cvar_xp_survive);
		for( new client = g_first_client; client <= g_max_clients; client++ )
		{
			if( is_user_connected(client) && is_user_alive(client) && cs_get_user_team(client) == CS_TEAM_T )
			{
				g_xp[client] += survive;
				Save(client);
				
				client_print_color(client,BLUE "^3[^4GameMod XP^3] Ai castigat^4 %i^3 XP pentru ca ai^4 supravietuit^3,^4 Bravo^3 !", survive);
			}
		}
	}
	
	new win = get_pcvar_num(cvar_xp_win);
	for( new client = g_first_client; client <= g_max_clients; client++ )
	{
		if( is_user_connected(client) && is_user_alive(client) && cs_get_user_team(client) == winner )
		{
			g_xp[client] += win;
			Save(client);
			
			client_print_color(client,RED "^3[^4GameMod XP^3] Ai castigat^4 %i^3 XP pentru castigarea^4 rundei^3, Ai jucat ^4bine!!", win);
		}
	}
}

public EventRoundRestart()
{
	remove_task(1234);
	
	g_nade_give_time = 9999999.9;
}

public FwdPlayerSpawn(client)
{
	if( is_user_alive(client) )
	{
		new CsTeams:team = cs_get_user_team(client);
		if( team == CS_TEAM_T || team == CS_TEAM_CT )
		{
			if( g_first_time[client] )
			{
				client_print_color(client,BLUE "^3[^4GameMod XP^3] Este pentru prima data cand joci acest ^4GameMod XP^3, iti vom da un ^4bonus^3 de ^4%i^3 XP!", ENTRY_XP);
				client_print_color(client,RED "^3[^4GameMod XP^3] Vei primi ^4XP^3 bazat pe ^4 jocul ^3dvs, si puteti ^4cumpara^3 mai multe ^4niveluri^3 în meniu.");
				client_print_color(client,BLUE "^3[^4GameMod XP^3] Tasteaza in chat /xp ca sa vezi ce poti cumpara!");
				
				g_first_time[client] = 0;
			}
			else
			{
				if( g_health_enabled[team] )
				{
					new health = g_health_maxamount[team] * g_health_level[client][team] / g_health_maxlevels[team];
					if( health > 0 )
					{
						set_user_health(client, get_user_health(client) + health);
					}
				}
				
				if( g_armor_enabled[team] )
				{
					new armorvalue = g_armor_maxamount[team] * g_armor_level[client][team] / g_armor_maxlevels[team];
					if( armorvalue == 0 )
					{
						cs_set_user_armor(client, armorvalue, CS_ARMOR_NONE);
					}
					else if( armorvalue < 100 )
					{
						cs_set_user_armor(client, armorvalue, CS_ARMOR_KEVLAR);
					}
					else
					{
						cs_set_user_armor(client, armorvalue, CS_ARMOR_VESTHELM);
					}
				}
			}
			
			if( get_gametime() >= g_nade_give_time )
			{
				GiveNades(client);
			}
		}
	}
}

public FwdPlayerDeath(client, killer, shouldgib)
{
	if( !g_used_revive[client] )
	{
		new CsTeams:team = cs_get_user_team(client);
		if( team == CS_TEAM_T || team == CS_TEAM_CT )
		{
			if( g_respawn_enabled[team] )
			{
				new percent = g_respawn_max_chance[team] * g_respawn_level[client][team] / g_respawn_maxlevels[team];
				if( random_num(1, 100) <= percent )
				{
					if( HasTeammateAlive(client, team) )
					{
						set_task(0.5, "TaskRespawn", client);
						
						client_print_color(client,RED "^3[^4GameMod XP^3] Ai primit ^4respawn^3! (^4%i%^3% sansa), Ai ^4noroc^3!", percent);
						
						g_used_revive[client] = 1;
					}
				}
			}
		}
	}
}

public FwdPlayerDamage(client, inflictor, attacker, Float:damage, damagebits)
{
	if( is_user_alive(client) && (damagebits & DMG_FALL) )
	{
		new CsTeams:team = cs_get_user_team(client);
		if( team == CS_TEAM_T || team == CS_TEAM_CT )
		{
			if( g_nofall_enabled[team] )
			{
				new percent = g_nofall_max_chance[team] * g_nofall_level[client][team] / g_nofall_maxlevels[team];
				SetHamParamFloat(4, damage * (1.0 - (float(percent) / 100.0)));
			}
		}
	}
}

public TaskRespawn(client)
{
	ExecuteHamB(Ham_CS_RoundRespawn, client);
}

public TaskGiveNades()
{
	for( new client = g_first_client; client <= g_max_clients; client++ )
	{
		if( is_user_alive(client) )
		{
			GiveNades(client);
		}
	}
}

HasTeammateAlive(client, CsTeams:team)
{
	for( new i = g_first_client; i <= g_max_clients; i++ )
	{
		if( i == client ) continue;
		
		if( is_user_alive(i) && cs_get_user_team(i) == team )
		{
			return 1;
		}
	}
	
	return 0;
}

GiveNades(client)
{
	new CsTeams:team = cs_get_user_team(client);
	
	if( team == CS_TEAM_T )
	{
		static percent;
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled )
			{
				percent = g_nade_max_chance * g_nade_level[client] / g_nade_maxlevels;
				if( percent > 0 && (percent == 100 || random_num(1, 100) <= percent) )
				{
					give_item(client, g_nade_classnames);
					
					if( percent < 100 )
					{
						client_print_color(client,BLUE "^3[^4GameMod XP^3] Ai primit^4 %s^3! (^4%i%^3% sansa), Pff.. ^4norocosule^3 !", g_nade_names, percent);
					}
				}
			}
		}
	}
}

ShowMainMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Principaln^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuMain");
	
	menu_additem(menu, "\yAjutor", "*");
	if( g_any_nade_enabled )
	{
		menu_additem(menu, "Meniu Grenazi", "1");
	}
	if( g_any_health_enabled )
	{
		menu_additem(menu, "Meniu Viata", "2");
	}
	if( g_any_armor_enabled )
	{
		menu_additem(menu, "Meniu Armura", "3");
	}
	if( g_any_respawn_enabled )
	{
		menu_additem(menu, "Meniu Respawn", "4");
	}
	if( g_any_nofall_enabled )
	{
		menu_additem(menu, "Meniu pentru Reducere DMG^n", "5");
	}
	if( ANY_ABILITY_ENABLED )
	{
		menu_additem(menu, "Info Jucatori", "6");
	}
	
	menu_display(client, menu);
}

public MenuMain(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	switch( info[0] )
	{
		case '*':
		{
			static motd[2500];
			new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
			len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
			len += format(motd[len], sizeof(motd) - len - 1,	"HideNSeek XP Mod este un addon experimentat pe baza de HideNSeek<br>");
			len += format(motd[len], sizeof(motd) - len - 1,	"Jucatorii câstiga puncte de experienta pe cât de bine joaca<br>");
			len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
			len += format(motd[len], sizeof(motd) - len - 1,	"<table border=0>");
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><th>Actiune</th><th>XP</th></tr>");
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Omori Un Jucator</td><td>+%i</td></tr>", get_pcvar_num(cvar_xp_kill));
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Omori Cu Grenada</td><td>+%i</td></tr>", get_pcvar_num(cvar_xp_grenade));
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Omori Cu Headshot</td><td>+%i</td></tr>", get_pcvar_num(cvar_xp_headshot));
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Te Sinucizi</td><td>-%i</td></tr>", get_pcvar_num(cvar_xp_suicide));
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Supravietuiesti (T)</td><td>+%i</td></tr>", get_pcvar_num(cvar_xp_survive));
			len += format(motd[len], sizeof(motd) - len - 1,	"<tr><td>Castigi Runda</td><td>+%i</td></tr>", get_pcvar_num(cvar_xp_win));
			len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
			len += format(motd[len], sizeof(motd) - len - 1,	"Cu aceste puncte de XP, poti cumpara upgrade-uri.<br>");
			len += format(motd[len], sizeof(motd) - len - 1,	"Pentru o lista a acestor upgrade-uri, scrie / XP din nou si vizualizeaza alte meniuri.");
			len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
			len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
			
			show_motd(client, motd, "Informatii HideNSeek XP Mod");
		}
		case '1':
		{
			ShowGrenadesMenu(client);
		}
		case '2':
		{
			ShowHealthMenu(client);
		}
		case '3':
		{
			ShowArmorMenu(client);
		}
		case '4':
		{
			ShowRespawnMenu(client);
		}
		case '5':
		{
			ShowNoFallMenu(client);
		}
		case '6':
		{
			ShowPlayerMenu(client);
		}
	}
}

ShowGrenadesMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Grenazi^n^nNota: \wGrenazile sunt abilitati doar pentru  \rTero !\y^n^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuGrenades");
	new callback = menu_makecallback("CallbackGrenades");
	
	menu_additem(menu, "\yAjutor", "*", _, callback);
	
	static level, xp, percent, item[128], info[4];
	for( new i = 0; i < Grenades; i++ )
	{
		if( g_nade_enabled )
		{
			level = g_nade_level[client] + 1;
			percent = g_nade_max_chance * level / g_nade_maxlevels;
			
			if( g_nade_level[client][i] < g_nade_maxlevels[i] )
			{
				xp = g_nade_first_xp[i] * (1 << (level - 1));
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\w%i XP\r]", g_nade_names[i], level, percent, xp);
			}
			else
			{
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\wLevel Maxim!\r]", g_nade_names[i], level, percent);
			}
			
			num_to_str(i, info, sizeof(info) - 1);
			
			menu_additem(menu, item, info, _, callback);
		}
	}
	
	menu_display(client, menu);
}

public MenuGrenades(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	if( info[0] == '*' )
	{
		static motd[2500];
		new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"Grenazile pentru XP Mod sunt abilitati doar pentru Tero.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"Acestea sunt grenazile: HE Grenade, 2 Flashbangs, so Frost Nade.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"Aceste grenazi le vei primi in functie de lvl fiecareia, cand cele 10 secunde s-au scurs.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th></th>");
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<th>%s</th>", g_nade_names[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Intervalele sansa</th>");
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", (g_nade_max_chance[i] / g_nade_maxlevels[i]));
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Level Maxim</th>");
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_nade_maxlevels[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Sansa Maxima</th>");
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", g_nade_max_chance[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
		
		show_motd(client, motd, "XP Grenades Info");
	}
	else
	{
		new upgrade = str_to_num(info);
		
		new level = g_nade_level[client][upgrade] + 1;
		new xp = g_nade_first_xp[upgrade] * (1 << (level - 1));
		new percent = g_nade_max_chance[upgrade] * level / g_nade_maxlevels[upgrade];
		
		g_xp[client] -= xp;
		g_nade_level[client][upgrade] = level;
		
		Save(client);
		
		cleint_print_color(client,RED "^3[^4GameMod XP^3] Ai cumparat^4 %s^3 Level^4 %i ^3(%i%^3%) pentru^4 %i^3 XP!", g_nade_names[upgrade], level, percent, xp);
	}
	
	ShowGrenadesMenu(client);
}

public CallbackGrenades(client, menu, item)
{
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '*' ) return ITEM_ENABLED;
	
	new upgrade = str_to_num(info);
	if( g_nade_level[client][upgrade] == g_nade_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	new xp = g_nade_first_xp[upgrade] * (1 << g_nade_level[client][upgrade]);
	if( g_xp[client] < xp )
	{
		return ITEM_DISABLED;
	}
	
	return ITEM_ENABLED;
}

ShowHealthMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Viata^n^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuHealth");
	new callback = menu_makecallback("CallbackHealth");
	
	menu_additem(menu, "\yAjutor", "*", _, callback);
	
	static level, xp, amount, item[128], info[4];
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		if( g_health_enabled[i] )
		{
			level = g_health_level[client][i] + 1;
			amount = g_health_maxamount[i] * level / g_health_maxlevels[i];
			
			if( g_health_level[client][i] < g_health_maxlevels[i] )
			{
				xp = g_health_first_xp[i] * (1 << (level - 1));
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i HP) \r[\w%i XP\r]", g_health_names[i], level, amount, xp);
			}
			else
			{
				formatex(item, sizeof(item) - 1, "\w%s: \yLevel %i (%i HP) \r[\wLevel Maxim!\r]", g_health_names[i], level, amount);
			}
			
			num_to_str(_:i, info, sizeof(info) - 1);
			
			menu_additem(menu, item, info, _, callback);
		}
	}
	
	menu_display(client, menu);
}

public MenuHealth(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	if( info[0] == '*' )
	{
		static motd[2500];
		new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"Aceasta abilitate consta in cresterea vietii la inceputul rundei<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th></th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_health_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<th>%s</th>",g_team_names[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Intervale Viata</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_health_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", (g_health_maxamount[i] / g_health_maxlevels[i]));
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Level Maxim</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_health_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_health_maxlevels[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Viata Maxima</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_health_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_health_maxamount[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
		
		show_motd(client, motd, "Informatii Viata");
	}
	else
	{
		new CsTeams:upgrade = CsTeams:str_to_num(info);
		
		new level = g_health_level[client][upgrade] + 1;
		new xp = g_health_first_xp[upgrade] * (1 << (level - 1));
		new amount = g_health_maxamount[upgrade] * level / g_health_maxlevels[upgrade];
		
		g_xp[client] -= xp;
		g_health_level[client][upgrade] = level;
		
		Save(client);
		
		client_print_color(client,RED "^3[^4GameMod XP^3] Ai cumparat^4 %s^3 Level^4 %i^3 (^4%i^3 HP) pentru^4 %i^3 XP!", g_health_names[upgrade], level, amount, xp);
	}
	
	ShowHealthMenu(client);
}

public CallbackHealth(client, menu, item)
{
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '*' ) return ITEM_ENABLED;
	
	new CsTeams:upgrade = CsTeams:str_to_num(info);
	if( g_health_level[client][upgrade] == g_health_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	new xp = g_health_first_xp[upgrade] * (1 << g_health_level[client][upgrade]);
	if( g_xp[client] < xp )
	{
		return ITEM_DISABLED;
	}
	
	return ITEM_ENABLED;
}

ShowArmorMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Armura^n^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuArmor");
	new callback = menu_makecallback("CallbackArmor");
	
	menu_additem(menu, "\yAjutor", "*", _, callback);
	
	static level, xp, amount, item[128], info[4];
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		if( g_armor_enabled[i] )
		{
			level = g_armor_level[client][i] + 1;
			amount = g_armor_maxamount[i] * level / g_armor_maxlevels[i];
			
			if( g_armor_level[client][i] < g_armor_maxlevels[i] )
			{
				xp = g_armor_first_xp[i] * (1 << (level - 1));
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i AP) \r[\w%i XP\r]", g_armor_names[i], level, amount, xp);
			}
			else
			{
				formatex(item, sizeof(item) - 1, "\w%s: \yLevel %i (%i AP) \r[\wLevel Maxim!\r]", g_armor_names[i], level, amount);
			}
			
			num_to_str(_:i, info, sizeof(info) - 1);
			
			menu_additem(menu, item, info, _, callback);
		}
	}
	
	menu_display(client, menu);
}

public MenuArmor(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	if( info[0] == '*' )
	{
		static motd[2500];
		new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"Aceasta abilitate consta in cresterea armurii la inceputul rundei.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th></th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_armor_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<th>%s</th>",g_team_names[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Intervalele Armurii</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_armor_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", (g_armor_maxamount[i] / g_armor_maxlevels[i]));
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Level Maxim</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_armor_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_armor_maxlevels[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Armura Maxima</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_armor_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_armor_maxamount[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
		
		show_motd(client, motd, "XP Armor Info");
	}
	else
	{
		new CsTeams:upgrade = CsTeams:str_to_num(info);
		
		new level = g_armor_level[client][upgrade] + 1;
		new xp = g_armor_first_xp[upgrade] * (1 << (level - 1));
		new amount = g_armor_maxamount[upgrade] * level / g_armor_maxlevels[upgrade];
		
		g_xp[client] -= xp;
		g_armor_level[client][upgrade] = level;
		
		Save(client);
		
	 cleint_print_color(client,BLUE "^3[^4GameMod XP^3] Ai cumparat^4 %s^3 Level^4 %i^3 (^4%i^3 AP) pentru^4 %i^3 XP!", g_armor_names[upgrade], level, amount, xp);
	}
	
	ShowArmorMenu(client);
}

public CallbackArmor(client, menu, item)
{
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '*' ) return ITEM_ENABLED;
	
	new CsTeams:upgrade = CsTeams:str_to_num(info);
	if( g_armor_level[client][upgrade] == g_armor_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	new xp = g_armor_first_xp[upgrade] * (1 << g_armor_level[client][upgrade]);
	if( g_xp[client] < xp )
	{
		return ITEM_DISABLED;
	}
	
	return ITEM_ENABLED;
}

ShowRespawnMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Respawn^n^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuRespawn");
	new callback = menu_makecallback("CallbackRespawn");
	
	menu_additem(menu, "\yHelp", "*", _, callback);
	
	static level, xp, percent, item[128], info[4];
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		if( g_respawn_enabled[i] )
		{
			level = g_respawn_level[client][i] + 1;
			percent = g_respawn_max_chance[i] * level / g_respawn_maxlevels[i];
			
			if( g_respawn_level[client][i] < g_respawn_maxlevels[i] )
			{
				xp = g_respawn_first_xp[i] * (1 << (level - 1));
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\w%i XP\r]", g_respawn_names[i], level, percent, xp);
			}
			else
			{
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\wLevel Maxim!\r]", g_respawn_names[i], level, percent);
			}
			
			num_to_str(_:i, info, sizeof(info) - 1);
			
			menu_additem(menu, item, info, _, callback);
		}
	}
	
	menu_display(client, menu);
}

public MenuRespawn(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	if( info[0] == '*' )
	{
		static motd[2500];
		new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"Cu aceasta abilitate ai sansa sa fii primesti respawn.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th></th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_respawn_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<th>%s</th>",g_team_names[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Intrevale Respawn</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_respawn_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", (g_respawn_max_chance[i] / g_respawn_maxlevels[i]));
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Level Maxim</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_respawn_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_respawn_maxlevels[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Sansa Maxima</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_respawn_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", g_respawn_max_chance[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
		
		show_motd(client, motd, "XP Respawn Info");
	}
	else
	{
		new CsTeams:upgrade = CsTeams:str_to_num(info);
		
		new level = g_respawn_level[client][upgrade] + 1;
		new xp = g_respawn_first_xp[upgrade] * (1 << (level - 1));
		new percent = g_respawn_max_chance[upgrade] * level / g_respawn_maxlevels[upgrade];
		
		g_xp[client] -= xp;
		g_respawn_level[client][upgrade] = level;
		
		Save(client);
		
		client_print_color(client,RED "^3[^4GameMod XP^3] Ai cumparat^4 %s^3 Level %i (%i%%) pentru %i XP!", g_respawn_names[upgrade], level, percent, xp);
	}
	
	ShowRespawnMenu(client);
}

public CallbackRespawn(client, menu, item)
{
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '*' ) return ITEM_ENABLED;
	
	new CsTeams:upgrade = CsTeams:str_to_num(info);
	if( g_respawn_level[client][upgrade] == g_respawn_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	new xp = g_respawn_first_xp[upgrade] * (1 << g_respawn_level[client][upgrade]);
	if( g_xp[client] < xp || g_respawn_level[client][upgrade] == g_respawn_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	return ITEM_ENABLED;
}

ShowNoFallMenu(client)
{
	static title[128];
	formatex(title, sizeof(title) - 1, "Meniu Reducere DMG^n^nXP Tau: \w%i", g_xp[client]);
	new menu = menu_create(title, "MenuNoFall");
	new callback = menu_makecallback("CallbackNoFall");
	
	menu_additem(menu, "\yHelp", "*", _, callback);
	
	static level, xp, percent, item[128], info[4];
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		if( g_nofall_enabled[i] )
		{
			level = g_nofall_level[client][i] + 1;
			percent = g_nofall_max_chance[i] * level / g_nofall_maxlevels[i];
			
			if( g_nofall_level[client][i] < g_nofall_maxlevels[i] )
			{
				xp = g_nofall_first_xp[i] * (1 << (level - 1));
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\w%i XP\r]", g_nofall_names[i], level, percent, xp);
			}
			else
			{
				formatex(item, sizeof(item) - 1, "%s: \yLevel %i (%i%%) \r[\wLevel Maxim!\r]", g_nofall_names[i], level, percent);
			}
			
			num_to_str(_:i, info, sizeof(info) - 1);
			
			menu_additem(menu, item, info, _, callback);
		}
	}
	
	menu_display(client, menu);
}

public MenuNoFall(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	menu_destroy(menu);
	
	if( info[0] == '*' )
	{
		static motd[2500];
		new len = formatex(motd, sizeof(motd) - 1,	"<body style=^"background-color:#030303; color:#FF8F00^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"<p align=^"center^">");
		len += format(motd[len], sizeof(motd) - len - 1,	"Aceasta abilitate reduce un anumit procent din DMG atunci cand cazi.<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<br>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th></th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_nofall_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<th>%s</th>",g_team_names[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Intervale De Reducere</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_nofall_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", (g_nofall_max_chance[i] / g_nofall_maxlevels[i]));
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Level Maxim</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_nofall_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i</td>", g_nofall_maxlevels[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"<th>Sansa Maxima</th>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_nofall_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1,	"<td>%i%%</td>", g_nofall_max_chance[i]);
			}
		}
		len += format(motd[len], sizeof(motd) - len - 1,	"</tr>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</table>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</p>");
		len += format(motd[len], sizeof(motd) - len - 1,	"</body>");
		
		show_motd(client, motd, "XP Fall Damage Info");
	}
	else
	{
		new CsTeams:upgrade = CsTeams:str_to_num(info);
		
		new level = g_nofall_level[client][upgrade] + 1;
		new xp = g_nofall_first_xp[upgrade] * (1 << (level - 1));
		new percent = g_nofall_max_chance[upgrade] * level / g_nofall_maxlevels[upgrade];
		
		g_xp[client] -= xp;
		g_nofall_level[client][upgrade] = level;
		
		Save(client);
		
		cleint_print_color(client,BLUE "^3[^4GameMod XP^3] Ai cumparat ^4%s^3 Level^4 %i^3 (^4%i%^3%) pentru^4 %i^3 XP!", g_nofall_names[upgrade], level, percent, xp);
	}
	
	ShowNoFallMenu(client);
}

public CallbackNoFall(client, menu, item)
{
	static _access, info[4], callback;
	menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
	
	if( info[0] == '*' ) return ITEM_ENABLED;
	
	new CsTeams:upgrade = CsTeams:str_to_num(info);
	if( g_nofall_level[client][upgrade] == g_nofall_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	new xp = g_nofall_first_xp[upgrade] * (1 << g_nofall_level[client][upgrade]);
	if( g_xp[client] < xp || g_nofall_level[client][upgrade] == g_nofall_maxlevels[upgrade] )
	{
		return ITEM_DISABLED;
	}
	
	return ITEM_ENABLED;
}

ShowPlayerMenu(client)
{
	new menu = menu_create("Informatii Jucatori", "MenuPlayer");
	
	new name[32], authid[35];
	for( new i = 1; i <= g_max_clients; i++ )
	{
		if( !is_user_connected(i) ) continue;
		
		get_user_name(i, name, sizeof(name) - 1);
		get_user_authid(i, authid, sizeof(authid) - 1);
		
		menu_additem(menu, name, authid);
	}
	
	menu_display(client, menu);
}

public MenuPlayer(client, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		ShowMainMenu(client);
		return;
	}
	
	static _access, authid[35], callback;
	menu_item_getinfo(menu, item, _access, authid, sizeof(authid) - 1, _, _, callback);
	menu_destroy(menu);
	
	new player = find_player("c", authid);
	if( !is_user_connected(player) )
	{
		ShowMainMenu(client);
		return;
	}
	
	new name[32];
	get_user_name(player, name, sizeof(name) - 1);
	
	static motd[2500];
	new len = copy(motd, sizeof(motd) - 1, "<html>");
	len += format(motd[len], sizeof(motd) - len - 1, "<b><font size=^"4^">Nume::</font></b> %s<br><br>", name);
	len += format(motd[len], sizeof(motd) - len - 1, "<b><font size=^"4^">XP:</font></b> %i<br><br>", g_xp[player]);
	if( g_any_nade_enabled )
	{
		len += format(motd[len], sizeof(motd) - len - 1, "<b><font size=^"4^">Level Grenazi:</font></b><br>");
		for( new i = 0; i < Grenades; i++ )
		{
			if( g_nade_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1, "<b>%s:</b> %i/%i<br>", g_nade_names[i], g_nade_level[player][i], g_nade_maxlevels[i]);
			}
		}
	}
	if( g_any_health_enabled )
	{
		len += format(motd[len], sizeof(motd) - len - 1, "<br><b><font size=^"4^">Level Viata:</font></b><br>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_health_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1, "<b>%s:</b> %i/%i (%i/%i HP)<br>",\
					g_health_names[i], g_health_level[player][i], g_health_maxlevels[i],\
					(g_health_maxamount[i] * g_health_level[player][i] / g_health_maxlevels[i]), g_health_maxamount[i]);
			}
		}
	}
	if( g_any_armor_enabled )
	{
		len += format(motd[len], sizeof(motd) - len - 1, "<br><b><font size=^"4^">Level Armura:</font></b><br>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_armor_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1, "<b>%s:</b> %i/%i (%i/%i AP)<br>",\
					g_armor_names[i], g_armor_level[player][i], g_armor_maxlevels[i],\
					(g_armor_maxamount[i] * g_armor_level[player][i] / g_armor_maxlevels[i]), g_armor_maxamount[i]);
			}
		}
	}
	if( g_any_respawn_enabled )
	{
		len += format(motd[len], sizeof(motd) - len - 1, "<br><b><font size=^"4^">Level Respawn:</font></b><br>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_respawn_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1, "<b>%s:</b> %i/%i (%i/%i %%)<br>",\
					g_respawn_names[i], g_respawn_level[player][i], g_respawn_maxlevels[i],\
					(g_respawn_max_chance[i] * g_respawn_level[player][i] / g_respawn_maxlevels[i]), g_respawn_max_chance[i]);
			}
		}
	}
	if( g_any_nofall_enabled )
	{
		len += format(motd[len], sizeof(motd) - len - 1, "<br><b><font size=^"4^">Level Reducere DMG:</font></b><br>");
		for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
		{
			if( g_nofall_enabled[i] )
			{
				len += format(motd[len], sizeof(motd) - len - 1, "<b>%s:</b> %i/%i (%i/%i %%)<br>",\
					g_nofall_names[i], g_nofall_level[player][i], g_nofall_maxlevels[i],\
					(g_nofall_max_chance[i] * g_nofall_level[player][i] / g_nofall_maxlevels[i]), g_nofall_max_chance[i]);
			}
		}
	}
	len += format(motd[len], sizeof(motd) - len - 1, "</html>");
	
	show_motd(client, motd, "Informatii Jucatori");
	
	ShowPlayerMenu(client);
}

Load(client)
{
	
	static data[256], timestamp;
	if( nvault_lookup(g_vault, g_szName[ client ], data, sizeof(data) - 1, timestamp) )
	{
		ParseLoadData(client, data);
		return;
	}
	else
	{
		NewUser(client);
	}
}

ParseLoadData(client, data[256])
{
	static num[6];
	strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
	
	g_xp[client] = str_to_num(num);
	
	for( new i = 0; i < Grenades; i++ )
	{
		strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
		g_nade_level[client][i] = clamp(str_to_num(num), 0, g_nade_maxlevels[i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
		g_armor_level[client][i] = clamp(str_to_num(num), 0, g_armor_maxlevels[i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
		g_respawn_level[client][i] = clamp(str_to_num(num), 0, g_respawn_maxlevels[i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
		g_health_level[client][i] = clamp(str_to_num(num), 0, g_health_maxlevels[i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		strbreak(data, num, sizeof(num) - 1, data, sizeof(data) - 1);
		g_nofall_level[client][i] = clamp(str_to_num(num), 0, g_nofall_maxlevels[i]);
	}
	
}

NewUser(client)
{
	g_first_time[client] = 1;
	
	g_xp[client] = ENTRY_XP;
	arrayset(g_nade_level[client], 0, sizeof(g_nade_level[]));
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		g_armor_level[client][i] = 0;
		g_respawn_level[client][i] = 0;
		g_health_level[client][i] = 0;
		g_nofall_level[client][i] = 0;
	}
}

Save(client)
{
	static data[256];
	new len = formatex(data, sizeof(data) - 1, "%i", g_xp[client]);
	
	for( new i = 0; i < Grenades; i++ )
	{
		len += formatex(data[len], sizeof(data) - len - 1, " %i", g_nade_level[client][i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		len += formatex(data[len], sizeof(data) - len - 1, " %i", g_armor_level[client][i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		len += formatex(data[len], sizeof(data) - len - 1, " %i", g_respawn_level[client][i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		len += formatex(data[len], sizeof(data) - len - 1, " %i", g_health_level[client][i]);
	}
	
	for( new CsTeams:i = CS_TEAM_T; i <= CS_TEAM_CT; i++ )
	{
		len += formatex(data[len], sizeof(data) - len - 1, " %i", g_nofall_level[client][i]);
	}
	
	
	nvault_set(g_vault, g_szName[ client ], data);
	
}


Poza2: Image
vip | Afiseaza codul
/*

VIP HNS -> Ultimate 

*/

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <cstrike>
#include <hamsandwich>

/* <><><><><><><><><><><><><><><><><><><><><><><>~ Define Grenazi <><><><><><><><><><><><><><><><><><><><><><><> */


/* -------------------------------> HE*/

#define _HE "weapon_hegrenade"
#define _HE2 "weapon_hegrenade"
#define _HE3 "weapon_hegrenade"
#define _HE4 "weapon_hegrenade"

/* -------------------------------> HE_GRENADE */

#define _HEG CSW_HEGRENADE
#define _HEG2 CSW_HEGRENADE
#define _HEG3 CSW_HEGRENADE
#define _HEG4 CSW_HEGRENADE

/* -------------------------------> SMOKE */

#define _SM "weapon_smokegrenade"
#define _SM2 "weapon_smokegrenade"
#define _SM3 "weapon_smokegrenade"
#define _SM4 "weapon_smokegrenade"

/* -------------------------------> SM_GRENADE */

#define _SMG CSW_SMOKEGRENADE
#define _SMG2 CSW_SMOKEGRENADE
#define _SMG3 CSW_SMOKEGRENADE
#define _SMG4 CSW_SMOKEGRENADE

/* -------------------------------> FLASH */

#define _FL "weapon_flashbang"
#define _FL2 "weapon_flashbang"
#define _FL3 "weapon_flashbang"
#define _FL4 "weapon_flashbang"

/* -------------------------------> FL_GRENADE */

#define _FLG CSW_FLASHBANG
#define _FLG2 CSW_FLASHBANG
#define _FLG3 CSW_FLASHBANG
#define _FLG4 CSW_FLASHBANG

/* <><><><><><><><><><><><><><><><><><><><><><><>~ Define Arme <><><><><><><><><><><><><><><><><><><><><><><> */

/* -------------------------------> DEAGLE */

#define _DGLW "weapon_deagle"
#define _DGLW2 "weapon_deagle"
#define _DGLW3 "weapon_deagle"
#define _DGLW4 "weapon_deagle"

/* -------------------------------> USP */

#define _USPW "weapon_usp"
#define _USPW4 "wapon_usp"

/* <><><><><><><><><><><><><><><><><><><><><><><>~ Define HP & AP <><><><><><><><><><><><><><><><><><><><><><><> */


/* -------------------------------> HP */

#define _HP get_user_health
#define _HP2 get_user_health
#define _HP3 get_user_health
#define _HP4 get_user_health

/* -------------------------------> AP */

#define _AP get_user_armor
#define _AP2 get_user_armor
#define _AP3 get_user_armor
#define _AP4 get_user_armor

/* <><><><><><><><><><><><><><><><><><><><><><><>~ Define Groups <><><><><><><><><><><><><><><><><><><><><><><> */

#define GROUPS_NAME		4
#define GROUPS_ACCESS		4

/* <><><><><><><><><><><><><><><><><><><><><><><>~ TAG <><><><><><><><><><><><><><><><><><><><><><><> */

static const TAG[] = "!c!vV.I.P!c"

/* <><><><><><><><><><><><><><><><><><><><><><><>~ New Limita <><><><><><><><><><><><><><><><><><><><><><><> */

new limita[32]

/* <><><><><><><><><><><><><><><><><><><><><><><>~ Define RRR GGG BBB <><><><><><><><><><><><><><><><><><><><><><><> */

#define RRR			255
#define GGG			255
#define BBB			255
#define CharsMax(%1)		sizeof %1 - 1
#define time_hud 12.0
#define vips_online_up "\rV.I.P\y Online\w:^n^n"
#define vips_online_bottom "\wPlugin \rVIP\w:\rHNS \w(\yv4.0\w) -> Creat de \rUsp\w\rStyLe \w!" 

/* <><><><><><><><><><><><><><><><><><><><><><><>~ New <><><><><><><><><><><><><><><><><><><><><><><> */

new GroupFlags[GROUPS_ACCESS][] = 
{
    "abcdefghijklo",
    "bcdefghijklt",
    "bcdefghijklm",
    "bcdefghijkln"
}
new GroupFlagsValue[GROUPS_NAME]
new iSeconds = 10
new cvar_give

public plugin_init()
{
    register_plugin("VIP.HNS -> Ultimate","4.0","UspStyLe")
    
    // Log -> Limbaj
    
    register_clcmd("say ****","limbaj_vip")
    register_clcmd("say ***","limbaj_vip")
    register_clcmd("say mat/a","limbaj_vip")
    register_clcmd("say mat.a","limbaj_vip")
    register_clcmd("say ******","limbaj_vip")
    register_clcmd("say marsh","limbaj_vip")
    register_clcmd("say _|_","limbaj_vip")
    register_clcmd("say fm","limbaj_vip")
    register_clcmd("say h.mm","limbaj_vip")
    register_clcmd("say ***","limbaj_vip")
    register_clcmd("say morti","limbaj_vip")
    register_clcmd("say m.o.r.t.i","limbaj_vip")
    register_clcmd("say m.orti","limbaj_vip")
    register_clcmd("say je.t","limbaj_vip")
    register_clcmd("say jet","limbaj_vip")
    register_clcmd("say jigodie","limbaj_vip")
    register_clcmd("say javra","limbaj_vip")
    register_clcmd("say noob","limbaj_vip")
    register_clcmd("say n.oob","limbaj_vip")
    register_clcmd("say n00b","limbaj_vip")
    register_clcmd("say nab","limbaj_vip")
    register_clcmd("say prost","limbaj_vip")
    register_clcmd("say tampit","limbaj_vip")
    register_clcmd("say p.rost","limbaj_vip")
    register_clcmd("say ta.mpi.t","limbaj_vip")
    register_clcmd("say boot","limbaj_vip")  
    
    // GodMode
    
    register_clcmd("say /godmode","god_mode")
    
    // Runda noua
    
    register_event("HLTV","new_round","a","1=0","2=0")
    
    // RegisterHam
    
    RegisterHam(Ham_Spawn,"player","Spawn",1)
    
    // InfoVIP
    
    register_clcmd("say /vipinfo","accesvip")
        
    // Vips ON -> For New
    
    for(new i=0;i < GROUPS_NAME ; i++)
	GroupFlagsValue[i] = read_flags(GroupFlags[i])
    
    // Vips ON -> ClCMD
    
    register_clcmd("say /vips","vips_online")
    register_clcmd("say .vips","vips_online")    
    register_clcmd("say vips","vips_online")
    
    // Print Plugin CFG
    
    set_task(1.0,"print_config_server",1234,_,_,"b",_) 

    // Cvar 
    
    cvar_give = register_cvar("vip_give_seconds","10.0")
}
public new_round(id)
{
    new iPlayers[32]
    new iPlayersNum
    get_players(iPlayers,iPlayersNum,"ae")
    for (new i=0;i < iPlayersNum; i++)
    {
        limita[iPlayers[i]] = 0
    }
}
public Spawn(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY && is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_give),"give",id)
        set_user_rendering(id, kRenderFxGlowShell, 255, 140, 0, kRenderNormal, 20) 
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H && is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_give),"give",id)
        set_user_rendering(id, kRenderFxGlowShell, 255, 140, 0, kRenderNormal, 20) 
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_A && is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_give),"give",id)
        set_user_rendering(id, kRenderFxGlowShell, 255, 140, 0, kRenderNormal, 20)
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_B && is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_give),"give",id)
        set_user_rendering(id, kRenderFxGlowShell, 255, 140, 0, kRenderNormal, 20)
    }  
}
public give(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
        // Grenazi
        
        give_item(id,_HE4)
        give_item(id,_SM4)
        give_item(id,_FL4)
        cs_set_user_bpammo(id, _HEG4, 6)
        cs_set_user_bpammo(id, _SMG4, 7)
        cs_set_user_bpammo(id, _FLG4, 8)
        
        // Arme
        
        give_item(id,_DGLW4)
        new gL_DGLW4 = find_ent_by_owner(-1,_DGLW4,id)
        if(gL_DGLW4)
        cs_set_weapon_ammo(gL_DGLW4, 2)
        give_item(id,_USPW4)
        new gL_USPW4 = find_ent_by_owner(-1,_USPW4,id)
        if(gL_USPW4)
        cs_set_weapon_ammo(gL_USPW4, 1)
        
        // HP
        
        set_user_health(id, _HP4(id) + 150)

        // AP
       
        set_user_armor(id, _AP4(id) + 150)
        
        // Mesaj chat 
        
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Esti !vV.I.P!e !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] !eBonusuri!e [+!v6HE!e] [+!v7SM!e] [+!v8FL!e] [!vDGL !e+!v2GL!e] [!vUSP!e +!v1GL!e] [!v150 !eHP!v/!eAP!c][!vGlow!c]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Pentru activare !vGodMode!c (!eSURPRIZA!c), tasteaza in chat: !v/godmode!c",TAG) 
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
        // Grenazi
        
        give_item(id,_HE3)
        give_item(id,_SM3)
        give_item(id,_FL3)
        cs_set_user_bpammo(id, _HEG3, 5)
        cs_set_user_bpammo(id, _SMG3, 5)
        cs_set_user_bpammo(id, _FLG3, 6)
        
        // Arme
        
        give_item(id,_DGLW3)
        new gL_DGLW3 = find_ent_by_owner(-1,_DGLW3,id)
        if(gL_DGLW3)
        cs_set_weapon_ammo(gL_DGLW3, 2)
        
        // HP
        
        set_user_health(id, _HP4(id) + 120)

        // AP
       
        set_user_armor(id, _AP4(id) + 120)
        
        // Mesaj chat 
        
    {
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Esti !vV.I.P!c !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Bonusuri!e [!v5HE!!e] [+!v5SM!e] [+!v6FL!e] [!vDGL !e+!v2GL!e] [!v120 !eHP!e/!vAP!e] [!vGlow!e]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Pentru activare !vGodMode!e (!eBONUS!e), tasteaza in chat: !v/godmode!c",TAG)
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
        // Grenazi
        
        give_item(id,_HE2)
        give_item(id,_SM2)
        give_item(id,_FL2)
        cs_set_user_bpammo(id, _HEG2, 4)
        cs_set_user_bpammo(id, _SMG2, 5)
        cs_set_user_bpammo(id, _FLG2, 5)
        
        // Arme
        
        give_item(id,_DGLW3)
        new gL_DGLW3 = find_ent_by_owner(-1,_DGLW3,id)
        if(gL_DGLW3)
        cs_set_weapon_ammo(gL_DGLW3, 1)
        
        // HP
        
        set_user_health(id, _HP4(id) + 110)

        // AP
       
        set_user_armor(id, _AP4(id) + 110)
        
        // Mesaj chat 
        
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Esti !vV.I.P!c !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Bonusuri!c [!e+!v4HE!e] [+!v5SM!e] [+!v5FL!e] [!vDGL !e+!v1GL!e] [!v110 !eHP!v/!eAP!e] [!vGlow!c]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Pentru activare !vGodMode!c (!eBONUS!e), tasteaza in chat: !v/godmode!e",TAG)     
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_B)
    {
        // Grenazi
        
        give_item(id,_HE)
        give_item(id,_SM)
        give_item(id,_FL)
        cs_set_user_bpammo(id, _HEG, 3)
        cs_set_user_bpammo(id, _SMG, 4)
        cs_set_user_bpammo(id, _FLG, 4)
        
        // Arme
        
        give_item(id,_USPW)
        new gL_USPW = find_ent_by_owner(-1,_USPW,id)
        if(gL_USPW)
        cs_set_weapon_ammo(gL_USPW, 1)
        
        // HP
        
        set_user_health(id, _HP4(id) + 90)

        // AP
       
        set_user_armor(id, _AP4(id) + 90)
        
        // Mesaj chat 
        
        Color_C_Usp(id,"!e[!v%s!e] [!vG:1!e] Esti !vV.I.P!e !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:1!e] Bonusuri:  [!e+!v3HE!e] [+!v4SM!e] [+!v4FL!e] [!vUSP !e+!v1GL!e] [!v90 !eHP!v/!eAP!e] [!vGlow!c]",TAG)
    }  
}
public god_mode(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
        if(limita[id] == 1)
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Doar odata pe !vRUNDA!e !",TAG)  
        }
        else
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Ai primit !vGodMode!e +!v25Sec.!e !",TAG)  
            set_user_godmode(id,1)
            set_task(25.0,"remove_godmode",id)
            limita[id] = 1
        }
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
        if(limita[id] == 1)
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Doar odata pe !vRUNDA!e !",TAG)  
        }
        else
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Ai primit !vGodMode!e +!v20Sec.!c !",TAG)  
            set_user_godmode(id,1)
            set_task(20.0,"remove_godmode",id)
            limita[id] = 1
        }
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
        if(limita[id] == 1)
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:2!c] Doar odata pe !vRUNDA!e !",TAG)  
        }
        else
        {
            Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Ai primit !vGodMode!e +!v15Sec.!e !",TAG)  
            set_user_godmode(id,1)
            set_task(15.0,"remove_godmode",id)
            limita[id] = 1
        }
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_B)
    {
        Color_C_Usp(id,"!e[!v%s!e] [!vG:1!e] Numai VIP de la: [ !vG:2!c ] in sus au acces la !vGodMode.",TAG)  
    }  
    else 
    {
        Color_C_Usp(id,"!e[!v%s!e] Nu ai acces la comanda de !vGodMode!e !")
    }
}
public remove_godmode(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
        set_user_godmode(id,0)
        Color_C_Usp(id,"!c[!e%s!c][!vG:4!c] GodMode-ul tau a fost !vOPRIT!c !",TAG)  
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
        set_user_godmode(id,0)
        Color_C_Usp(id,"!c[!e%s!c][!vG:3!c] GodMode-ul tau a fost !vOPRIT!c !",TAG)  
    } 
    else if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
        set_user_godmode(id,0)
        Color_C_Usp(id,"!c[!e%s!c][!vG:2!c] GodMode-ul tau a fost !vOPRIT!c !",TAG)  
    }  
}
public limbaj_vip(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY)
    {
        static vip_name[32]
        get_user_name(id,vip_name,31)
        client_cmd(id,"snapshot;wait;wait;wait;wait;wait;snapshot")
        log_to_file("vip_hns_ultimate_limbaj.log","Nume VIP: [ %s ] | Grad: [ 4 ]", vip_name)
        log_to_file("vip_hns_ultimate_limbaj.log","~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
        static vip_name[32]
        get_user_name(id,vip_name,31)
        client_cmd(id,"snapshot;wait;wait;wait;wait;wait;snapshot")
        log_to_file("vip_hns_ultimate_limbaj.log","Nume VIP: [ %s ] | Grad: [ 3 ]", vip_name)
        log_to_file("vip_hns_ultimate_limbaj.log","~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_A)
    {
        static vip_name[32]
        get_user_name(id,vip_name,31)
        client_cmd(id,"snapshot;wait;wait;wait;wait;wait;snapshot")
        log_to_file("vip_hns_ultimate_limbaj.log","Nume VIP: [ %s ] | Grad: [ 2 ]", vip_name)
        log_to_file("vip_hns_ultimate_limbaj.log","~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_B)
    {
        static vip_name[32]
        get_user_name(id,vip_name,31)
        client_cmd(id,"snapshot;wait;wait;wait;wait;wait;snapshot")
        log_to_file("vip_hns_ultimate_limbaj.log","Nume VIP: [ %s ] | Grad: [ 1 ]", vip_name)
        log_to_file("vip_hns_ultimate_limbaj.log","~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
    }  
}
public accesvip(id)
{
    if(get_user_flags(id) & ADMIN_IMMUNITY && is_user_alive(id))
    {        
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Esti !vV.I.P!e !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] !eBonusuri!e [+!v6HE!e] [+!v7SM!e] [+!v8FL!e] [!vDGL !e+!v2GL!e] [!vUSP!e +!v1GL!e] [!v150 !eHP!v/!eAP!c][!vGlow!c]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:4!e] Pentru activare !vGodMode!c (!eSURPRIZA!c), tasteaza in chat: !v/godmode!c",TAG)        
    }
    else if(get_user_flags(id) & ADMIN_LEVEL_H && is_user_alive(id))
    {
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Esti !vV.I.P!c !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Bonusuri!e [!v5HE!!e] [+!v5SM!e] [+!v6FL!e] [!vDGL !e+!v2GL!e] [!v120 !eHP!e/!vAP!e] [!vGlow!e]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:3!e] Pentru activare !vGodMode!e (!eBONUS!e), tasteaza in chat: !v/godmode!c",TAG)          
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_A && is_user_alive(id))
    {
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Esti !vV.I.P!c !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Bonusuri!c [!e+!v4HE!e] [+!v5SM!e] [+!v5FL!e] [!vDGL !e+!v1GL!e] [!v110 !eHP!v/!eAP!e] [!vGlow!c]",TAG)   
        Color_C_Usp(id,"!e[!v%s!e] [!vG:2!e] Pentru activare !vGodMode!c (!eBONUS!e), tasteaza in chat: !v/godmode!e",TAG)          
    }  
    else if(get_user_flags(id) & ADMIN_LEVEL_B && is_user_alive(id))
    {
        Color_C_Usp(id,"!e[!v%s!e] [!vG:1!e] Esti !vV.I.P!e !",TAG)  
        Color_C_Usp(id,"!e[!v%s!e] [!vG:1!e] Bonusuri:  [!e+!v3HE!e] [+!v4SM!e] [+!v4FL!e] [!vUSP !e+!v1GL!e] [!v90 !eHP!v/!eAP!e] [!vGlow!c]",TAG)
    }  
    else if(is_user_alive(id))
    {
        Color_C_Usp(id,"!e[!v%s!e] Nu esti !vV.I.P!e !",TAG)  
    }
}
public vips_online(id)
{
	new sPlayers[32], iNum, iPlayer
	new sName[32]
	new szMenu[256], nLen, keys
	get_players(sPlayers, iNum, "ch")
        nLen += format(szMenu[nLen], 255-nLen,"\rV\w.\rI\w.\rP \yOnline:^n^n")
	for(new a = 0; a < iNum ; a++)
		{   
        iPlayer = sPlayers[a]
        if(get_user_flags(iPlayer) & ADMIN_LEVEL_C)
        {
            get_user_name(iPlayer, sName, sizeof sName - 1)
            nLen += format(szMenu[nLen], 255-nLen,"\r[\w Nume: \y%s\w | Acces: \yG\w:\y4\r ]^n", sName)
        }
        else if(get_user_flags(iPlayer) & ADMIN_LEVEL_H)
        {
            get_user_name(iPlayer, sName, sizeof sName - 1)
            nLen += format(szMenu[nLen], 255-nLen,"\r[\w Nume: \y%s\w | Acces: \yG\w:\y3\r ]^n", sName)
        }
        else if(get_user_flags(iPlayer) & ADMIN_LEVEL_A)
        {
            get_user_name(iPlayer, sName, sizeof sName - 1)
            nLen += format(szMenu[nLen], 255-nLen,"\r[\w Nume: \y%s\w | Acces: \yG\w:\y2\r ]^n", sName)
        }
        else if(get_user_flags(iPlayer) & ADMIN_LEVEL_B)
        {
            get_user_name(iPlayer, sName, sizeof sName - 1)
            nLen += format(szMenu[nLen], 255-nLen,"\r[\w Nume: \y%s\w | Acces: \yG\w:\y1\r ]^n", sName)
        }
		}
	keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)
	show_menu(id,keys,szMenu,-1)
	return 0
}
public print_config_server(id)
{
    server_print("In %d secunde serverul va printa CFG-ul -> VIP.HNS.ULTIMATE",iSeconds)
    iSeconds--
    if(iSeconds < 0)
    {
        write_file("vip_hns_ultimate.cfg","vip_hns_ultimate 1",0)
        write_file("vip_hns_ultimate.cfg","vip_give_seconds 15.0",1)
        server_print("CFG-ul -> VIP.HNS.ULTIMATE a fost scris cu succes.")
        remove_task(1234)
    }
}
stock Color_C_Usp(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[320], msg2[320]
	vformat(msg, 190, input, 3)
	format(msg2, 190, "%s",msg)
	replace_all(msg2, 190, "!v", "^4") /* Culoarea Verde */
	replace_all(msg2, 190, "!c", "^1") /* Culoarea Chatului */
	replace_all(msg2, 190, "!e", "^3")  /* Culoarea Echipei 1 */
	replace_all(msg2, 190, "!e2", "^0")  /* Culoarea Echipei 2 */
	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(msg2)
			message_end()
		}
	}

P.S: acesta dadea inainte de modificare de 2 ori bonusurile ...
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

01 Apr 2013, 20:07

Up scuzati ca am dat mai devreme de 24 de ore dar am nevoie urgent :o3
User avatar
aNNNdReY
Membru, skill +1
Membru, skill +1
Posts: 410
Joined: 08 Sep 2012, 00:45
Detinator Steam: Da
SteamID: ravyvevo
Has thanked: 65 times
Been thanked: 18 times

02 Apr 2013, 18:53

up va rog :d
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

02 Apr 2013, 19:04

register_plugin(PLUGIN_NAME, "1.0", "andreihaiduc20");

Serios ??
Retras
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: Semrush [Bot] and 19 guests