Помогите С Плагином! Ошибка В 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
}
 

Marthahix

New Member
With our nursing essay help services, you can effortlessly achieve academic brilliance! Our expert team ensures smooth academic travel and high marks. Click now for personalized assistance and on-time deliveries.
 
Сверху