Помогите С Плагином! Ошибка В Colorchat!

alexey921

New Member
1 ошибка при компилировании.
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Error: Cannot read from file: "colorchat" on line 9

Compilation aborted.
1 Error.
Could not locate output file C:\Users\Леха\Desktop\amxStudio\NG_pointmod.amx (compile failed).



Пробовал разные colorchat.inc ничего не помогает.
http://s003.radikal.ru/i204/1403/68/6868ee147814.jpg


 

alexey921

New Member
Код:
Код:
#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < hamsandwich >
#include < fun >
#include < fakemeta >
#include < engine >
#include < nvault  >
#include < colorchat >
#include < dhudmessage >


new const Plugin[] 	= "PointMod";
new const Version[]      = "1.7";
new const Author[] 	= "UFO";
new const prefix[]       = "^4[ProGame]^3";

enum _:Weapons
{
	FIVESEVEN,
	DEAGLE,
	AWP,
	SPACE,
	HEGREN
}

new const WeapMaxLevel [ Weapons ] =
{
	5,
	5,
	5,
	1,
	4
}

new const WeapMaxValue [ Weapons ] =
{
	15,
	10,
	5,
	1,
	100
}

new const WeapFirstCost [ Weapons ] =
{
	65,
	75,
	100,
	1,
	50
}

new const WeapName [ Weapons ] [ ] =
{
	"FiveSeven",
	"Deagle",
	"AWP",
	"",
	"He Grenade"
}

new const WeapShort [ Weapons ] [ ] =
{
	"%",
	"%",
	"%",
	"",
	"%"
}

new const WeapCSW [ Weapons ] =
{
	CSW_FIVESEVEN,
	CSW_DEAGLE,
	CSW_AWP,
	2,
	CSW_HEGRENADE
}

new const WeapGive [ Weapons ] [ ] =
{
	"weapon_fiveseven",
	"weapon_deagle",
	"weapon_awp",
	"",
	"weapon_hegrenade"
}

/* Terrorist Upgrades */
enum _:TUpgrades
{
	HEALTH,
	ARMOR,
	RS,
	FDR,
	DMG,
	NOPAIN,
	NOFOOT
}

new const TMaxLevel [ TUpgrades ] =
{
	5,
	5,
	5,
	5,
	5,
	1,
	1
}

new const TMaxValue [ TUpgrades ] =
{
	100,
	200,
	25,
	50,
	50,
	1,
	1	
}

new const TFirstCost [ TUpgrades ] =
{
	25,
	15,
	100,
	75,
	50,
	180,
	200
}

new const TName [ TUpgrades ] [ ] =
{
	"Extra Health",
	"Armor",
	"Respawn Chance",
	"Fall Damage Reducer",
	"Extra Damage",
	"No Pain Shock",
	"No Foot Steps"
}

new const TShort [ TUpgrades ] [ ] =
{
	" HP",
	" AP",
	"%",
	"%",
	"%",
	"",
	""
}

/* Counter Terrorist Upgrades */
enum _:CTUpgrades
{
	HEALTH,
	ARMOR,
	RS,
	FDR,
	DMG,
	NOPAIN,
	NOFLASH
}

new const CTMaxLevel [ CTUpgrades ] =
{
	5,
	5,
	5,
	5,
	5,
	1,
	1
}

new const CTMaxValue [ CTUpgrades ] =
{
	100,
	200,
	25,
	50,
	50,
	1,
	1
}

new const CTFirstCost [ CTUpgrades ] =
{
	25,
	15,
	100,
	75,
	50,
	180,
	200
}

new const CTName [ CTUpgrades ] [ ] =
{
	"Extra Health",
	"Armor",
	"Respawn Chance",
	"Fall Damage Reducer",
	"Extra Damage",
	"No Pain Shock",
	"No Flash"
}

new const CTShort [ CTUpgrades ] [ ] =
{
	" HP",
	" AP",
	"%",
	"%",
	"%",
	"",
	""
}

/* Upgrades Level*/
new CTLevel [ 33 ] [ CTUpgrades ]
new TLevel [ 33 ] [ TUpgrades ]
new WeapLevel [ 33 ] [ Weapons ]
	
/* Points PointsTop */	
new iPoint [ 33 ], iPointTop [ 33 ], g_iTarget[33]	

/* Cvars */
new c_Kill, c_Headshot, c_Grenade, c_Suicide, c_Die, c_Survive, c_MinPlayers

/* No Flash */
new cMsgScreenFade

new Float: cGametime

new bool: cRespawnedOnce [ 33 ]
new bool: cTrack [ 33 ]
new bool: cTrackEnemy

public plugin_init ( )
{	
	register_plugin(Plugin, Version, Author);
	
	/* Say Commmands */
	new cmd [ ] = "CmdMenuShow"
	register_clcmd ( "Pointmod", cmd )
	register_clcmd ( "say /pm", cmd )
	register_clcmd ( "say /pointmod", cmd )
	register_clcmd ( "say /sbpm", cmd )
	register_clcmd ( "say_team /pm", cmd )
	register_clcmd("say /pmtop", "CmdTop");
	register_clcmd("_________DonatePointValue", "CmdDonatePoints");
	
	/* Cvars */
	c_Kill = register_cvar ( "pm_points_kill", "2" )
	c_Headshot = register_cvar ( "pm_points_headshot", "3" )
	c_Grenade = register_cvar ( "pm_points_grenade", "5" )
	c_Suicide = register_cvar ( "pm_points_suicide", "1" )
	c_Die = register_cvar ( "pm_points_die", "2" )
	c_Survive = register_cvar ( "pm_points_survive", "5" )
	c_MinPlayers = register_cvar("pm_minplayers", "2")
	
	/* Admin Give ore Remove Points */
	register_concmd ( "pm_give_points", "CmdAddPoints", ADMIN_CVAR, "<nick, #userid, authid> <points>" )
	register_concmd ( "pm_remove_points", "CmdRemovePoints", ADMIN_CVAR, "<nick, #userid, authid> <points>" )
	
	/* No Flash */
	cMsgScreenFade = get_user_msgid ( "ScreenFade" )
	
	register_event ( "DeathMsg", "CmdDeathMessage", "a" )
	register_event ( "ScreenFade", "CmdGetFlashed", "br", "4=255", "5=255", "6=255", "7>199" )
	register_logevent ( "CmdRoundEnd", 2, "1=Round_End")
	
	RegisterHam ( Ham_TakeDamage, "player", "CmdPlayerDamage", 1 )
	RegisterHam ( Ham_Killed, "player", "CmdKilled", 1 )
	RegisterHam ( Ham_Spawn, "player", "CmdSpawn", 1 )
}	

public plugin_natives ( )
{
	register_library ( "pointmod" )
	
	register_native ( "pm_set_user_point", "_set_point" )
	register_native ( "pm_get_user_point", "_get_point" )
	register_native ( "pm_get_healthct", "_get_CThealth" )
	register_native ( "pm_get_healtht", "_get_Thealth" )
	register_native ( "pm_get_minplayers", "_get_minplayers")
}

public _get_minplayers(plugin)
{
	return get_pcvar_num(c_MinPlayers)
}

public _get_CThealth ( plugin, params ) 
{
	return CTLevel [ get_param ( 1 ) ] [ HEALTH ]
}

public _get_Thealth ( plugin, params )
{
	return TLevel [ get_param ( 1 ) ] [ HEALTH ] 
}

public _get_point ( plugin, params )
{
	return iPoint[ get_param ( 1 ) ]
}

public _set_point ( plugin, params )
{
	
	if(get_playersnum() < get_pcvar_num(c_MinPlayers))
	{
		set_hudmessage(95, 95, 95, -1.0, 0.74, 0, 6.0, 12.0)
		show_hudmessage(get_param ( 1 ), "На сервере должно быть^n   не менее %i игроков", get_pcvar_num(c_MinPlayers))
		return PLUGIN_HANDLED
	}
	
	new client = get_param ( 1 )
	iPoint [ client ] = max ( 0, get_param ( 2 ) )
	Save ( client )
	return iPoint [ client ]
}

public client_connect ( iPlayer )
{
	Load ( iPlayer )
}

public client_disconnect ( iPlayer )
{
	Save ( iPlayer )
}

public CmdRoundEnd ( iPlayer )
{
	if(get_playersnum() < get_pcvar_num(c_MinPlayers))
	{
		set_hudmessage(95, 95, 95, -1.0, 0.74, 0, 6.0, 12.0)
		show_hudmessage(iPlayer, "На сервере должно быть^n   не менее %i игроков", get_pcvar_num(c_MinPlayers))
		return PLUGIN_HANDLED
	}
	
	if ( is_user_alive ( iPlayer ) && cs_get_user_team ( iPlayer ) == CS_TEAM_T )
	{
		iPoint [ iPlayer ] += get_pcvar_num ( c_Survive )
		iPointTop [ iPlayer ] += get_pcvar_num ( c_Survive )
		ColorChat ( iPlayer, GREY, "%s You gained^1 %i Points^3 for ^1surviving^3 the ^1round^3", prefix, get_pcvar_num ( c_Survive ) )
		Save ( iPlayer )
	}

	return PLUGIN_HANDLED
}

public CmdSpawn ( iPlayer )
{
	if ( is_user_alive ( iPlayer ) )
		set_task ( 8.0, "SetItems", iPlayer )
	if ( is_user_alive ( iPlayer ) )
		set_task ( 8.0, "CmdSetWeapons", iPlayer )		
}

/* Cmd Set items Round start */
public SetItems ( iPlayer )
{
	new health_amount_t = TMaxValue [ HEALTH ] * TLevel [ iPlayer ] [ HEALTH ] / TMaxLevel [ HEALTH ]
	new health_amount_ct = CTMaxValue [ HEALTH ] * CTLevel [ iPlayer ] [ HEALTH ] / CTMaxLevel [ HEALTH ]
	new armor_amount_t = TMaxValue [ ARMOR ] * TLevel [ iPlayer ] [ ARMOR ] / TMaxLevel [ ARMOR ]
	new armor_amount_ct = CTMaxValue [ ARMOR ] * CTLevel [ iPlayer ] [ ARMOR ] / CTMaxLevel [ ARMOR ]
	
	if(is_user_connected(iPlayer))
	{
		if ( cs_get_user_team ( iPlayer ) == CS_TEAM_T )
		{
			if ( TLevel [ iPlayer ] [ HEALTH ] >= 1 )
			{
				set_user_health ( iPlayer, get_user_health ( iPlayer ) + health_amount_t )
			}
			if ( TLevel [ iPlayer ] [ ARMOR ] >= 1 )
			{	
				set_user_armor ( iPlayer, armor_amount_t )
			}
			if ( TLevel [ iPlayer ] [ NOFOOT ] >= 1 )
				set_user_footsteps ( iPlayer, 1 )
		}
		else if ( cs_get_user_team ( iPlayer ) == CS_TEAM_CT )
		{
			if ( CTLevel [ iPlayer ] [ HEALTH ] >= 1 )
			{
				set_user_health ( iPlayer, get_user_health ( iPlayer ) + health_amount_ct )
			}
			if ( CTLevel [ iPlayer ] [ ARMOR ] >= 1 )
			{	
				set_user_armor ( iPlayer, armor_amount_ct )
			}
		}
	}
}

public CmdSetWeapons ( iPlayer )
{
	new number [ 5 ], name [ 32 ]
	get_user_name ( iPlayer, name, sizeof ( name ) )
	
	for ( new iWeap = 0; iWeap < Weapons; iWeap++ )
	{		
		num_to_str ( iWeap, number, sizeof ( number ) - 1 )
		
		new bullets
		bullets = 1
		
		if ( WeapLevel [ iPlayer ] [ iWeap ] >= 1 )
		{
			static percent
			percent = calc_value ( WeapLevel [ iPlayer ] [ iWeap ], WeapMaxLevel [ iWeap ], WeapMaxValue [ iWeap ] )
			
			if ( is_user_connected ( iPlayer ) )
			{
				if ( percent > 0 && ( percent == 100 || random_num ( 1, 100 ) <= percent ) )
				{
					if ( iWeap == SPACE )
						return PLUGIN_HANDLED
					else if ( iWeap == HEGREN && !user_has_weapon ( iPlayer, WeapCSW [ HEGREN ] ) )
					{
						give_item ( iPlayer, WeapGive [ HEGREN ] )
						ColorChat ( iPlayer, GREY, "%s^3 You just got a^1 %s^3!^4 [%i%%%]", prefix, WeapName [ HEGREN ], percent )
					}
					else
					{
						give_item ( iPlayer, WeapGive [ iWeap ] )
						cs_set_weapon_ammo ( find_ent_by_owner ( iPlayer, WeapGive [ iWeap ], iPlayer ), bullets )
						cs_set_user_bpammo ( iPlayer, WeapCSW [ iWeap ], 0 )
						ColorChat ( 0, GREY, "%s^1 %s^3 just got a^1 %s^3 with^1 %i^3 bullets!^4 [%i%%%]", prefix, name, WeapName [ iWeap ], bullets, percent )
					}
				}
			}
		}
	}
	return PLUGIN_HANDLED
}

/* Cmd Make a kill or die */
public CmdKilled ( iPlayer )
{
	new ct_chance = CTMaxValue [ RS ] * CTLevel [ iPlayer ] [ RS ] / CTMaxLevel [ RS ]
	new t_chance = TMaxValue [ RS ] * TLevel [ iPlayer ] [ RS ] / TMaxLevel [ RS ]
	new name [ 32 ]
	get_user_name ( iPlayer, name, 32 )
	
	if ( CTLevel [ iPlayer ] [ RS ] >= 1 || TLevel [ iPlayer ] [ RS ] >= 1 )
	{
		if ( !is_user_alive ( iPlayer ) )
		{
			if(is_user_connected(iPlayer))
			{
				if ( !cRespawnedOnce [ iPlayer ] )
				{
					if ( cs_get_user_team ( iPlayer ) == CS_TEAM_T )
					{
						if ( random_num ( 1, 100 ) <= t_chance )
						{
							ColorChat ( 0, GREY, "%s^1 %s^3 just got respawned as a^1 Terroist^3!^4 (%i%%%)", prefix, name, t_chance )
							ExecuteHamB ( Ham_CS_RoundRespawn, iPlayer )
							cRespawnedOnce [ iPlayer ] = true
						}
					}
					else if ( cs_get_user_team ( iPlayer ) == CS_TEAM_CT )
					{
						if ( random_num ( 1, 100 ) <= ct_chance )
						{
							ColorChat ( 0, GREY, "%s^1 %^3 just got respawned as a^1 CT^3!^4 (%i%%%)", prefix, name, ct_chance )
							ExecuteHamB ( Ham_CS_RoundRespawn, iPlayer )
							cRespawnedOnce [ iPlayer ] = true
						}
					}
				}
			}
		}
	}
}

public CmdPlayerDamage ( iPlayer, inflictor, attacker, Float:damage, damagebits )
{
	new ct_falldmg = CTMaxValue [ FDR ] * CTLevel [ iPlayer ] [ FDR ] / CTMaxLevel [ FDR ]
	new t_falldmg = TMaxValue [ FDR ] * TLevel [ iPlayer ] [ FDR ] / TMaxLevel [ FDR ]
	
	new ct_dmg = CTMaxValue [ DMG ] * CTLevel [ iPlayer ] [ DMG ] / CTMaxLevel [ DMG ]
	new t_dmg = TMaxValue [ DMG ] * TLevel [ iPlayer ] [ DMG ] / TMaxLevel [ DMG ]
	
	if(is_user_connected(iPlayer))
	{
		if ( is_user_alive ( iPlayer ) && ( damagebits & DMG_FALL ) )
		{
	
			if ( cs_get_user_team ( iPlayer ) == CS_TEAM_T )
			{
				SetHamParamFloat ( 4, damage * ( 1.0 - ( float ( t_falldmg ) / 100.0 ) ) )
			}
			else if ( cs_get_user_team ( iPlayer ) == CS_TEAM_CT )
			{
				SetHamParamFloat ( 4, damage * ( 1.0 - ( float ( ct_falldmg ) / 100.0 ) ) )
			}
		}
		
		if ( ( 1 <= attacker <= get_maxplayers ( ) && iPlayer != attacker ) )
		{
			if ( cs_get_user_team ( iPlayer ) == CS_TEAM_T )
			{
				SetHamParamFloat ( 4, damage * ( 1.0 + ( float ( t_dmg ) / 100.0 ) ) )
			}
			else
			{
				SetHamParamFloat ( 4, damage * ( 1.0 + ( float ( ct_dmg ) / 100.0 ) ) )
			}
		}
	
		switch(cs_get_user_team(iPlayer))
		{
			case CS_TEAM_CT:
			{
				if(CTLevel [ iPlayer ] [ NOPAIN ] >= 1 )
					set_pdata_float ( iPlayer, 108, 1.0 )
			}
			case CS_TEAM_T:
			{
				if ( TLevel [ iPlayer ] [ NOPAIN ] >= 1)
					set_pdata_float ( iPlayer, 108, 1.0 )
			}
		}
	}
	
	return HAM_HANDLED
}

public CmdDeathMessage ( )
{
	new killer = read_data ( 1 )
	new victim = read_data ( 2 )
	
	if(get_playersnum() < get_pcvar_num(c_MinPlayers))
	{
		set_hudmessage(95, 95, 95, -1.0, 0.74, 0, 6.0, 12.0)
		show_hudmessage(killer, "На сервере должно быть^n   не менее %i игроков", get_pcvar_num(c_MinPlayers))
		return PLUGIN_HANDLED
	}
		
	new PointsGain, GrenadePointsGain, TopPointsGain, KillPointsGain, HsPointsGain 
		
	new vname [ 32 ], kname [ 32 ]
	get_user_name ( killer, kname, 32 )
	get_user_name ( victim, vname, 32 )
		
	if ( ( 1 <= killer <= get_maxplayers ( ) ) && killer != victim )
	{
		if(is_user_connected(killer) && is_user_connected(victim))
		{
			if ( cs_get_user_team ( killer ) != cs_get_user_team ( victim ) )
			{
				if ( is_user_alive ( killer ) )
				{
					{
						PointsGain += get_pcvar_num ( c_Kill )
						TopPointsGain += get_pcvar_num ( c_Kill )
						KillPointsGain += 1
					}
					if ( read_data ( 3 ) )
					{
						PointsGain += get_pcvar_num ( c_Headshot )
						TopPointsGain += get_pcvar_num ( c_Headshot )
						HsPointsGain += 1
					}
					else
					{
						static weapon[20];
						read_data(4, weapon, sizeof(weapon) - 1);
						
						if( contain(weapon, "grenade") >= 0 )
						{
							GrenadePointsGain += 1
							PointsGain += get_pcvar_num ( c_Grenade )
							ColorChat ( killer, GREY, "%s^3 You gained^1 %i Points^3 for making a ^1grenade kill^3", prefix, get_pcvar_num ( c_Grenade ) )
						}
					}
						
					iPoint [ killer ] += PointsGain
					iPointTop [ killer ] += TopPointsGain
						
					iPoint [ victim ] -= get_pcvar_num ( c_Die )
					iPointTop [ victim ] -= get_pcvar_num ( c_Die )
					ColorChat ( killer, GREY, "%s^3 You gained^1 %i Points^3 for killing^4 %s", prefix, PointsGain, vname )
					ColorChat ( victim, GREY, "%s^3 You lost^1 %i Points^3 for getting killed", prefix, get_pcvar_num ( c_Die ), kname )
					Save ( victim )
					Save ( killer )
				}
			}
		}
	}
	else
	{
		iPoint [ victim ] -= get_pcvar_num ( c_Suicide )
		iPointTop [ victim ] -= get_pcvar_num ( c_Die )
		ColorChat ( victim, GREY, "%s^3 You lost^1 %i Points^3 for suiciding", prefix, get_pcvar_num ( c_Suicide ) )
		Save ( victim )
	}
	
	return PLUGIN_HANDLED;

}

public CmdMenuShow(iPlayer) 
{
	new szTemp[120];
	
	new MainMenu = menu_create("\r[PM]\wPointMod by +1 #^nГлавно меню", "CmdMenuHandle");
	
	formatex(szTemp, charsmax(szTemp), "\wИнформация об игроке [Points]", get_playersnum());
	menu_additem(MainMenu, szTemp, "1");
	
	formatex(szTemp, charsmax(szTemp), "\wТоп поинтов\r");
	menu_additem(MainMenu, szTemp, "2");
	
	formatex(szTemp, charsmax(szTemp), "\wПрокачка оружия");
	menu_additem(MainMenu, szTemp, "3");
	
	formatex(szTemp, charsmax(szTemp), "\wПрокачка Террориста");
	menu_additem(MainMenu, szTemp, "4");
	
	formatex(szTemp, charsmax(szTemp), "\wПрокачака Контер-Террориста");
	menu_additem(MainMenu, szTemp, "5");
	
	formatex(szTemp, charsmax(szTemp), "Передать Поинты\r^n^n\d \yТвои Поинты: \r%i^n\w\d \yВсе твои Поинты: \r%i", get_playersnum(), iPoint [ iPlayer ], iPointTop [ iPlayer ]);
	menu_additem(MainMenu, szTemp, "6");
        
        formatex(szTemp, charsmax(szTemp), "\w{P}ro{G}ame");
	menu_additem(MainMenu, szTemp, "7");
	
	menu_setprop(MainMenu, MPROP_EXITNAME, "Закрыть");
	menu_display(iPlayer, MainMenu);
}

public CmdMenuHandle ( iPlayer, menu, item )
{
	new data [ 6 ], name [ 64 ]
	new access, callback
	
	menu_item_getinfo ( menu, item, access, data, 5, name, 63, callback )
	
	new key = str_to_num ( data )
	
	switch ( key )
	{
		case 1: CmdPlayerShow ( iPlayer )
		case 2: CmdTop ( iPlayer )
		case 3: CmdWeapShow ( iPlayer )
		case 4: CmdTShow ( iPlayer )
		case 5: CmdCTShow ( iPlayer )
		case 6: CmdDonate ( iPlayer )
	}
	return PLUGIN_HANDLED
}

public CmdDonate(id)
{
    new iMenu = menu_create("\r[PM] \wPointMad by +1 #^n\y Передать поинты\r", "handleDonateMenu");
   
    new iPlayers[32], szName[32], szKey[3], iNum, iPlayer;
    get_players(iPlayers, iNum);
   
    for( new i; i < iNum; i++ )
    {
        iPlayer = iPlayers[i];
       
        num_to_str(iPlayer, szKey, charsmax(szKey));
        get_user_name(iPlayer, szName, charsmax(szName));
       
        menu_additem(iMenu, szName, szKey);
    }
   
    menu_setprop(iMenu, MPROP_EXITNAME, "Back");
    menu_display(id, iMenu, 0);
}
 
public handleDonateMenu(id, iMenu, iItem)
{
    if( iItem == MENU_EXIT )
    {
        menu_destroy(iMenu);
        CmdMenuShow(id);
        return PLUGIN_HANDLED;
    }
   
    new szData[6], iAccess, iCallback;
    menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax(szData), _, _, iCallback);
   
    g_iTarget[id] = str_to_num(szData);
    new szName[32];
    get_user_name(g_iTarget[id], szName, charsmax(szName));
   
    ColorChat(id, GREY, "%s Вы выбрали:^1 %s^3 !", prefix, szName);
   
    ColorChat(id, GREY, "%s Введи количество поинтов:", prefix);
    client_cmd(id, "messagemode _________DonatePointValue");
    client_cmd(id, "spk fvox/blip");
    return PLUGIN_HANDLED;
}
 
public CmdDonatePoints(id)
{
	new szArg[5];
	read_argv(1, szArg, charsmax(szArg));
   
	if( !strlen(szArg) )
	{
		ColorChat(id, GREY, "%s Вам нужно ввести количество !", prefix);
		client_cmd(id, "messagemode _________DonatePointValue");
		client_cmd(id, "spk fvox/blip");
		return PLUGIN_HANDLED;
	}
 
	new iValue = str_to_num(szArg);
   
	if( iValue <= 0 )
	{
		ColorChat(id, GREY, "%s Вы не можете ввести меньше 0 !", prefix);
		client_cmd(id, "messagemode _________КоличествоПередаваемыхПоинтов");
		client_cmd(id, "spk fvox/blip");
		return PLUGIN_HANDLED;
	}
	else if( iValue > iPoint[id] )
	{
		ColorChat(id, GREY, "%s У Вас только^1 %i Поинтов^3 !", prefix, iPoint[id]);
		client_cmd(id, "messagemode _________КоличествоПередаваемыхПоинтов");
		client_cmd(id, "spk fvox/blip");
		return PLUGIN_HANDLED;
	}
   
	new iTarget = g_iTarget[id];
   
	if( !iTarget )
	{
		ColorChat(id, GREY, "%s Неверная цель !", prefix);
		return PLUGIN_HANDLED;
	}
   
	if( iTarget == id )
	{
		ColorChat(id, GREY, "%s Вы должны быть живы!", prefix);
		return PLUGIN_HANDLED;
	}
   
	iPoint[id] -= iValue;
   
	iPoint[iTarget] += iValue;

   
	new szName[2][32];
	get_user_name(iTarget, szName[0], charsmax(szName[]));
	get_user_name(id, szName[1], charsmax(szName[]));
   
	ColorChat(id, GREY, "%s Вы передела^1 %i Поинты^3 Игроку^1 %s !", prefix, iValue, szName[0]);
	ColorChat(iTarget, GREY, "%s ^1%s^3 передал^1 %i Поинтов^3 to Вам !", prefix, szName[1], iValue);
	
	set_dhudmessage(0, 125, 200, -1.0, 0.9, 0, 0.0, 3.0, 2.0, 1.0)    
	show_dhudmessage(0,"Игрок %s передал %i поинты игроку %s", szName[1], iValue, szName[0])      
   
	log_amx("Point mod Donate Info: %s donate %i Points to %s", szName[1], iValue, szName[0]);
 
	return PLUGIN_HANDLED;
}

public CmdWeapShow ( iPlayer )
{
	new menu = menu_create ( "\r[PM]\wPointMod by +1 #^n\y Прокачка оружия", "CmdWeapHandle" )
	
	new Temp [ 190 ], iPrice, level, level2, iAmount, numb [ 5 ]
	
	for ( new iItem = 0; iItem < Weapons; iItem++ )
	{
		num_to_str ( iItem, numb, sizeof ( numb ) - 1 )
		
		level = WeapLevel [ iPlayer ] [ iItem ]
		level2 = level + 1
		iPrice = WeapFirstCost [ iItem ] * ( 1 << ( level2 - 1 ) )
		iAmount = WeapMaxValue [ iItem ] * level / WeapMaxLevel [ iItem ]
		
		if ( WeapLevel [ iPlayer ] [ iItem ] >= WeapMaxLevel [ iItem ] )
			formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Level %i (\r%i%s\w)", WeapName [ iItem ], level, iAmount, WeapShort [ iItem ] )
		else if ( iPoint [ iPlayer ] < iPrice )
			formatex ( Temp, sizeof ( Temp ) - 1, "\d%s:\w Level %i (\r%i%s\w)\d %i Points", WeapName [ iItem ], level, iAmount, WeapShort [ iItem ], iPrice )
		else 
			formatex ( Temp, sizeof ( Temp ) - 1, "\w%s: Level %i (\r%i%s\w)\y %i Points", WeapName [ iItem ], level, iAmount, WeapShort [ iItem ], iPrice )
		
		if ( iItem == SPACE )
			menu_addblank ( menu, 0 )
		else
			menu_additem ( menu, Temp, numb )
	}
	menu_display ( iPlayer, menu, 0 )
}

public CmdWeapHandle ( iPlayer, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu )
		CmdMenuShow ( iPlayer )
		return PLUGIN_HANDLED
	}
	
	new data [ 6 ], name [ 64 ]
	new access, callback
	
	menu_item_getinfo ( menu, item, access, data, 5, name, 63, callback )
	
	new iItem = str_to_num ( data )
	new level, level2, iPrice
	
	level = WeapLevel [ iPlayer ] [ iItem ]
	level2 = level + 1
	iPrice = WeapFirstCost [ iItem ] * ( 1 << ( level2 - 1 ) )
	
	if ( level >= WeapMaxLevel [ iItem ] )
	{
		ColorChat ( iPlayer, GREY, "%s^1 %s^3 is already fully upgraded", prefix, WeapName [ iItem ] )
		return PLUGIN_HANDLED
	}
	else if ( iPoint [ iPlayer ] < iPrice )
	{
		ColorChat ( iPlayer, GREY, "%s^3 You need^1 %i^3 more points to upgrade^1 %s^3 Level^1 %i", prefix, iPrice - iPoint [ iPlayer ], WeapName [ iItem ], level2 )
		return PLUGIN_HANDLED
	}
	else
	{
		iPoint [ iPlayer ] -= iPrice
		ColorChat ( iPlayer, GREY, "%s^3 You upgraded^1 %s^3 Level^1 %i^3", prefix, WeapName [ iItem ], level2 )
		WeapLevel [ iPlayer ] [ iItem ] += 1
		Save ( iPlayer )
	}
	
	CmdWeapShow( iPlayer )
	return PLUGIN_HANDLED
}

public CmdCTShow ( iPlayer )
{
	new title [ 290 ]
	
	formatex ( title, sizeof ( title ) - 1, "\r[PM]\wPointMod by +1 #^n\y Прокачка Контер-Террориста^n^n\wПоинты:\r %i", iPoint [ iPlayer ] )
	new menu = menu_create ( title, "CmdCTHandle" )
	
	new Temp [ 190 ], iPrice, level, level2, iAmount, numb [ 5 ]
	
	for ( new CTer = 0; CTer < CTUpgrades; CTer++ )
	{
		num_to_str ( CTer, numb, sizeof ( numb ) - 1 )

		level = CTLevel [ iPlayer ] [ CTer ]
		level2 = level + 1
		iPrice = CTFirstCost [ CTer ] * ( 1 << ( level2 - 1 ) )
		iAmount = CTMaxValue [ CTer ] * level / CTMaxLevel [ CTer ]
		
		if ( CTLevel [ iPlayer ] [ CTer ] >= CTMaxLevel [ CTer ] )
			if ( CTer == NOPAIN || CTer == NOFLASH )
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Already Bought", CTName [ CTer ] )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Level %i\w [\r %i%s\w ]", CTName [ CTer ], CTLevel [ iPlayer ] [ CTer ], iAmount, CTShort [ CTer ] )
		else if ( iPoint [ iPlayer ] < iPrice )
			if ( CTer == NOPAIN || CTer == NOFLASH )
				formatex ( Temp, sizeof ( Temp ) - 1, "\d%s:\y %i Points", CTName [ CTer ], iPrice )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\d%s:\w Level %i\w [\r %i%s\w ]\y %i Points", CTName [ CTer ], CTLevel [ iPlayer ] [ CTer ], iAmount, CTShort [ CTer ], iPrice )
		else
			if ( CTer == NOPAIN || CTer == NOFLASH )
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w %i Points", CTName [ CTer ], iPrice )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Level %i\w [\r %i%s\w ]\y %i Points", CTName [ CTer ], CTLevel [ iPlayer ] [ CTer ], iAmount, CTShort [ CTer ], iPrice )
		
		menu_additem ( menu, Temp, numb )
	}
	menu_display ( iPlayer, menu, 0 )
}

public CmdCTHandle ( iPlayer, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu )
		CmdMenuShow ( iPlayer )
		return PLUGIN_HANDLED
	}
	
	new data [ 6 ], name [ 64 ]
	new access, callback
	
	menu_item_getinfo ( menu, item, access, data, 5, name, 63, callback )
	
	new CTer = str_to_num ( data )
	new level, level2, iPrice
	
	level = CTLevel [ iPlayer ] [ CTer ]
	level2 = level + 1
	iPrice = CTFirstCost [ CTer ] * ( 1 << ( level2 - 1 ) )
	
	if ( level >= CTMaxLevel [ CTer ] )
	{
		ColorChat ( iPlayer, GREY, "%s^3 Upgrade^1 %s^3 is already maxed out!", prefix, CTName [ CTer ] )
		return PLUGIN_HANDLED
	}
	else if ( iPoint [ iPlayer ] < iPrice )
	{
		ColorChat ( iPlayer, GREY, "%s^3 You need^1 %i^3 more points to upgrade^1 %s^3 to level^1 %i", prefix, iPrice - iPoint [ iPlayer ], CTName [ CTer ], CTLevel [ iPlayer ] [ CTer ] + 1 )
		return PLUGIN_HANDLED
	}
	else
	{
		iPoint [ iPlayer ] -= iPrice
		ColorChat ( iPlayer, GREY, "%s^3 You upgraded^1 %s^3 to level^1 %i^3", prefix, CTName [ CTer ], CTLevel [ iPlayer ] [ CTer ] )
		CTLevel [ iPlayer ] [ CTer ] += 1
		Save ( iPlayer )
	}
	
	CmdCTShow( iPlayer )
	return PLUGIN_HANDLED
}

public CmdTShow ( iPlayer )
{
	new title [ 290 ]
	
	formatex ( title, sizeof ( title ) - 1, "\r[PM]\wPointMod by +1 #^n\y Прокачака Тероориста^n^n\wPoints:\r %i", iPoint [ iPlayer ] )
	new menu = menu_create ( title, "CmdTHandle" )
	
	new Temp [ 190 ], iPrice, level, level2, iAmount, numb [ 6 ]
	
	for ( new iTer = 0; iTer < TUpgrades; iTer++ )
	{
		num_to_str ( iTer, numb, 5 )

		level = TLevel [ iPlayer ] [ iTer ]
		level2 = level + 1
		iPrice = TFirstCost [ iTer ] * ( 1 << ( level2 - 1 ) )
		iAmount = TMaxValue [ iTer ] * level / TMaxLevel [ iTer ]
		
		if ( level >= TMaxLevel [ iTer ] )
			if ( iTer == NOPAIN || iTer == NOFOOT )
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Already Bought", TName [ iTer ] )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\y%s:\w Level %i [\r %i%s\w ]", TName [ iTer ], TLevel [ iPlayer ] [ iTer ], iAmount, TShort [ iTer ] )
		else if ( iPoint [ iPlayer ] < iPrice )
			if ( iTer == NOPAIN || iTer == NOFOOT )
				formatex ( Temp, sizeof ( Temp ) - 1, "\d%s:\y %i Points", TName [ iTer ], iPrice )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\d%s:\w Level %i [\r %i%s\w ]\y %i Points", TName [ iTer ], TLevel [ iPlayer ] [ iTer ], iAmount, TShort [ iTer ], iPrice )
		else if ( level < TMaxLevel [ iTer ] )
			if ( iTer == NOPAIN || iTer == NOFOOT )
				formatex ( Temp, sizeof ( Temp ) - 1, "\w%s:\w %i Points", TName [ iTer ], iPrice )
			else
				formatex ( Temp, sizeof ( Temp ) - 1, "\w%s:\w Level %i [\r %i%s\w ]\y %i Points", TName [ iTer ], TLevel [ iPlayer ] [ iTer ], iAmount, TShort [ iTer ], iPrice )
		menu_additem ( menu, Temp, numb )
	}
	menu_display ( iPlayer, menu, 0 )
}

public CmdTHandle ( iPlayer, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu )
		CmdMenuShow ( iPlayer )
		return PLUGIN_HANDLED
	}
	
	new data [ 6 ], name [ 64 ]
	new access, callback
	
	menu_item_getinfo ( menu, item, access, data, 5, name, 63, callback )
	
	new iTer = str_to_num ( data )
	new level, level2, iPrice
	
	level = TLevel [ iPlayer ] [ iTer ]
	level2 = level + 1
	iPrice = TFirstCost [ iTer ] * ( 1 << ( level2 - 1 ) )
	
	if ( level >= TMaxLevel [ iTer ] )
	{
		ColorChat ( iPlayer, GREY, "%s^3 Upgrade^1 %s^3 is already maxed out!", prefix, TName [ iTer ] )
		return PLUGIN_HANDLED
	}
	else if ( iPoint [ iPlayer ] < iPrice )
	{
		ColorChat ( iPlayer, GREY, "%s^3 You need^1 %i^3 More points to upgrade^1 %s^3 to level^1 %i^3", prefix, iPrice - iPoint [ iPlayer ], TName [ iTer ],  TLevel [ iPlayer ] [ iTer ] + 1 )
		return PLUGIN_HANDLED
	}
	else if ( iPoint [ iPlayer ] >= iPrice )
	{
		iPoint [ iPlayer ] -= iPrice
		TLevel [ iPlayer ] [ iTer ] += 1
		ColorChat ( iPlayer, GREY, "%s^3 You upgraded^1 %s^3 to level^1 %i", prefix, TName [ iTer ], TLevel [ iPlayer ] [ iTer ] )
		Save ( iPlayer )
			
	}
	
	CmdTShow( iPlayer )
	return PLUGIN_HANDLED
}

public CmdPlayerShow ( iPlayer )
{
	new title [ 190 ]
	
	formatex ( title, sizeof ( title ) - 1, "\r[Ранк]\w Ранксистема^n- Player Info" )
	
	new menu = menu_create ( title, "CmdPlayerHandle" )
	new players [ 32 ], pnum, tempid, nameShow [ 190 ]
	new name [ 32 ], szTempid [ 10 ]
	
	get_players ( players, pnum )
	
	for ( new i; i < pnum; i++ )
	{
		tempid = players [ i ]
		
		get_user_name ( tempid, name, 31 )
		num_to_str ( tempid, szTempid, 9 )
		formatex ( nameShow, 189, "%s", name )
		
		menu_additem ( menu, nameShow, szTempid, 0 )
	}
	menu_display ( iPlayer, menu, 0 )
}

public CmdPlayerHandle ( iPlayer, menu, item )
{
	if ( item == MENU_EXIT )
	{
		menu_destroy ( menu )
		CmdMenuShow ( iPlayer )
		return PLUGIN_HANDLED
	}
	
	new data [ 6 ], name [ 64 ]
	new access, callback
	
	menu_item_getinfo ( menu, item, access, data, 5, name, 63, callback )
	
	new tempid = str_to_num ( data )
	new tempname [ 32 ]
	get_user_name ( tempid, tempname, 31 )
	
	static motd [ 2500 ]
	new len = formatex ( motd, sizeof ( motd ) -1, 	"<html>" )
	len += format ( motd [ len ], sizeof ( motd ) - len - 1, "<body style =^"background-color:#1c1c1c; color:#000000^">" )
	len += format ( motd [ len ], sizeof ( motd ) - len - 1, "<p align=^"center^">");
	len += format ( motd [ len ], sizeof ( motd ) - len - 1,	"Информация Игрока:<b> %s</b><br><br>", tempname )
	len += format ( motd [ len ], sizeof ( motd ) - len - 1,	"Поинты: <b>%i</b><br>", iPoint[tempid])
	len += format ( motd [ len ], sizeof ( motd ) - len - 1,	"Все Поинты: <b>%i</b><br>", iPointTop[tempid])
	
	len += format ( motd [ len ], sizeof ( motd ) - len - 1, "</body>" )
	len += format ( motd [ len ], sizeof ( motd ) - len - 1, "</html>" )
	
	show_motd ( iPlayer, motd, "#Rank | Player Info" )
	return PLUGIN_HANDLED
}

public CmdGetFlashed ( iPlayer )
{
	new Float: gametime = get_gametime ( )
	if ( gametime != cGametime )
	{
		cGametime = gametime
		for ( new i = 0; i < 33; i++ )
		{
			cTrack [ i ] = false
		}
		cTrackEnemy = false
	}
	if ( CTLevel [ iPlayer ] [ NOFLASH ] >= 1 )
	{
		cTrackEnemy = true
		
		message_begin ( MSG_ONE, cMsgScreenFade, { 0, 0, 0 }, iPlayer )
		write_short ( 1 )
		write_short ( 1 )
		write_short ( 1 )
		write_byte ( 0 )
		write_byte ( 0 )
		write_byte ( 0 )
		write_byte ( 255 )
		message_end ( )
	}
}

public CmdFlashDelay ( )
{
	if ( cTrackEnemy == false )
	{
		for ( new i = 0; i < 33; i++ )
		{
			if ( cTrack [ i ] == true && is_user_connected ( i ) )
			{
				message_begin ( MSG_ONE, cMsgScreenFade, { 0, 0, 0 }, i )
				write_short ( 1 )
				write_short ( 1 )
				write_short ( 1 )
				write_byte ( 0 )
				write_byte ( 0 )
				write_byte ( 0 )
				write_byte ( 255 )
				message_end ( )
			}
		}
	}
}

public calc_value ( const player_level, const max_level, const max_value )
{
	return ( max_value * player_level / max_level )
}

public CmdTop(id)
{
	static Sort[33][2];
	new players[32],num,count,index;
	get_players(players,num);
    
	for(new i = 0; i < num; i++)
	{
		index = players[i];
		Sort[count][0] = index;
		Sort[count][1] = iPointTop[index];
		count++;
	}
    
	SortCustom2D(Sort,count,"CompareXp");
	new motd[1501],iLen;
	iLen = formatex(motd, sizeof motd - 1,"<body bgcolor=#000000><font color=#98f5ff><pre>");
	iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%s %-22.22s %3s^n", "#", "Name", "# Points");
    
	new y = clamp(count, 0, 15);
	new name[32],kindex;
    
	for(new x = 0; x < y; x++)
	{
		kindex = Sort[x][0];
		get_user_name(kindex,name,sizeof name - 1);
		iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"%d %-22.22s %d^n", x + 1, name, Sort[x][1]);
	}
	iLen += formatex(motd[iLen], (sizeof motd - 1) - iLen,"</body></font></pre>");

	show_motd(id, motd, "#PM | Top 15");
	
	return PLUGIN_HANDLED;
}

public CompareXp(elem1[], elem2[])
{
	if(elem1[1] > elem2[1])
		return -1;
	else if(elem1[1] < elem2[1])
		return 1;
    
	return 0;
} 

public Load ( iPlayer )
{
	new authid[32]; 
	get_user_authid(iPlayer,authid,31); 

	new vaultkey[64], vaultdata[64]; 
	
	format(vaultkey,63,"POINTMOD-%s-POINTS", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	iPoint [ iPlayer ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"TOPPOINTS-%s-POINTS", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	iPointTop [ iPlayer ] = str_to_num(vaultdata);
	
	/*--Weapons Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-FIVESEVEN", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	WeapLevel [ iPlayer ] [ FIVESEVEN ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-DEAGLE", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	WeapLevel [ iPlayer ] [ DEAGLE ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-AWP", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	WeapLevel [ iPlayer ] [ AWP ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-HEGREN", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	WeapLevel [ iPlayer ] [ HEGREN ] = str_to_num(vaultdata);
	 
	/*--Weapons Closed--*/
	
	/*--TUpgrades Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAHEALTH_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ HEALTH ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAARMOR_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ ARMOR ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-RESPAWNCHANCE_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ RS ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-FALLDAMAGEREDUCER_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ FDR ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-EXTRADAMAGE_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ DMG ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-NOPAINSHOCK_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ NOPAIN ] = str_to_num(vaultdata);  
	
	format(vaultkey,63,"POINTMOD-%s-NOFOOTSTEPS_T", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	TLevel [ iPlayer ] [ NOFOOT ] = str_to_num(vaultdata);  
	
	/*--TUpgrades Closed--*/
	
	/*--CTUpgrades Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAHEALTH_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ HEALTH ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAARMOR_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ ARMOR ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-RESPAWNCHANCE_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ RS ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-FALLDAMAGEREDUCER_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ FDR ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-EXTRADAMAGE_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ DMG ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOPAINSHOCK_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ NOPAIN ] = str_to_num(vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOFLASH_CT", authid); 
	get_vaultdata(vaultkey,vaultdata,63); 
	CTLevel [ iPlayer ] [ NOFLASH ] = str_to_num(vaultdata);
	
	/*--CTUpgrades Closed--*/
}

public Save ( iPlayer )
{
	
	new vaultkey[64], vaultdata[64]; 
	new gAuthID[32];
	
	get_user_authid(iPlayer, gAuthID, charsmax(gAuthID));
	
	format(vaultkey,63,"POINTMOD-%s-POINTS", gAuthID); 
	format(vaultdata,63,"%d",iPoint [ iPlayer ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"TOPPOINTS-%s-POINTS", gAuthID); 
	format(vaultdata,63,"%d",iPointTop[iPlayer]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	
	/*--Weapons Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-FIVESEVEN",gAuthID); 
	format(vaultdata,63,"%d",WeapLevel [ iPlayer ] [ FIVESEVEN ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"POINTMOD-%s-DEAGLE",gAuthID); 
	format(vaultdata,63,"%d",WeapLevel [ iPlayer ] [ DEAGLE ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"POINTMOD-%s-AWP",gAuthID); 
	format(vaultdata,63,"%d",WeapLevel [ iPlayer ] [ AWP ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"POINTMOD-%s-HEGREN",gAuthID); 
	format(vaultdata,63,"%d",WeapLevel [ iPlayer ] [ HEGREN ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	/*--Weapons Closed--*/
	
	/*--TUpgrades Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAHEALTH_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ HEALTH ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAARMOR_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ ARMOR ]); 
	set_vaultdata(vaultkey,vaultdata); 
	
	format(vaultkey,63,"POINTMOD-%s-RESPAWNCHANCE_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ RS ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-FALLDAMAGEREDUCER_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ FDR ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-EXTRADAMAGE_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ DMG ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOPAINSHOCK_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ NOPAIN ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOFOOTSTEPS_T",gAuthID); 
	format(vaultdata,63,"%d",TLevel [ iPlayer ] [ NOFOOT ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	/*--TUpgrades Closed--*/
	
	/*--CTUpgrades Open--*/
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAHEALTH_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ HEALTH ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-EXTRAARMOR_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ ARMOR ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-RESPAWNCHANCE_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ RS ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-FALLDAMAGEREDUCER_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ FDR ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-EXTRADAMAGE_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ DMG ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOPAINSHOCK_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ NOPAIN ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	format(vaultkey,63,"POINTMOD-%s-NOFLASH_CT", gAuthID); 
	format(vaultdata,63,"%d",CTLevel [ iPlayer ] [ NOFLASH ]); 
	set_vaultdata(vaultkey,vaultdata);
	
	/*--CTUpgrades Closed--*/
}

public CmdAddPoints ( iPlayer, level, cid )
{
	if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
	
	new arg [ 32 ]
   	read_argv ( 1, arg, charsmax ( arg ) )

	new AddChips [ 32 ]
	read_argv ( 2, AddChips, charsmax ( AddChips ) )

	new Chips = str_to_num ( AddChips )
	
	new iTarget
	new iName [ 32 ]
	new TargetName [ 32 ]
	get_user_name ( iPlayer, iName, charsmax ( iName ) )
	
	if ( equali ( arg, "@all" ) )
	{
		new iPlayer [ 32 ], iNum, All
		get_players ( iPlayer, iNum )
		for ( new i; i < iNum; i++ )
		{
			All = iPlayer [ i ]
			
			iPoint [ All ] += Chips
			iPointTop [ All ] += Chips
		}
		ColorChat ( 0, GREY, "%s^1 %s^3 gave^1 %i Points^3 to^4 everyone^3!", prefix, iName, Chips )
	}
	else
	{
		iTarget = cmd_target( iPlayer, arg, 31 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )

		if( !iTarget ) 
  			 return PLUGIN_HANDLED
	
		iPoint [ iTarget ] += Chips
		iPointTop [ iTarget ] += Chips
		
		ColorChat ( 0, GREY, "%s^1 %s^3 gave^1 %i Points^3 to ^4 %s^3", prefix, iName, Chips, TargetName )
	}

	return PLUGIN_HANDLED
}

public CmdRemovePoints ( iPlayer, level, cid )
{
	if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
	
	new arg [ 32 ]
   	read_argv ( 1, arg, charsmax ( arg ) )

	new RemoveChips [ 32 ]
	read_argv ( 2, RemoveChips, charsmax ( RemoveChips ) )

	new Chips = str_to_num ( RemoveChips )
	
	new iTarget
	new iName [ 32 ]
	new TargetName [ 32 ]
	get_user_name ( iPlayer, iName, charsmax ( iName ) )
	
	if ( equali ( arg, "@all" ) )
	{
		new iPlayer [ 32 ], iNum, All
		get_players ( iPlayer, iNum )
		for ( new i; i < iNum; i++ )
		{
			All = iPlayer [ i ]
			
			iPoint [ All ] -= Chips
			iPointTop [ All ] -= Chips
		}
		ColorChat ( 0, GREY, "%s^1 %s^3 removed^1 %i Points^3 from^4 everyone^3!", prefix, iName, Chips )
	}
	else
	{
		iTarget = cmd_target( iPlayer, arg, 31 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )

		if( !iTarget ) 
  			 return PLUGIN_HANDLED
	
		iPoint [ iTarget ] -= Chips
		iPointTop [ iTarget ] -= Chips
		
		ColorChat ( 0, GREY, "%s^1 %s^3 removed^1 %i Points^3 from ^4 %s^3", prefix, iName, Chips, TargetName )
	}

	return PLUGIN_HANDLED
}
 
Сверху