Cerere modificare SHOP [ 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 .
Post Reply
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

03 Nov 2013, 18:04

Am shopul facut de Askhanar..si vreau ca, atunci cand am deja x HP si y AP si eu dau sa cumpar iar, sa imi arate un mesaj( si sa nu ma lase sa mai iau iar HP, AP ) gen ai deja x HP | y AP, numai poti cumpara( asa cum este el, eu inca pot cumpara :| )

| Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < fakemeta_util >
#include < hamsandwich >
#include < fun >

#define PLUGIN "FuRieN Credits Shop"
#define VERSION "1.2x"

#define HAS_NVGS		( 1<<0 )
#define USES_NVGS		( 1<<8 )
#define get_user_nvg( %1 )    	( get_pdata_int( %1, m_iNvg ) & HAS_NVGS )
#define SOUND_NVGOFF		"items/nvg_off.wav"

native fcs_get_user_credits( client );

native fcs_set_user_credits( client, credits );

stock fcs_add_user_credits( client, credits )
{
	return fcs_set_user_credits( client, fcs_get_user_credits( client ) + credits );
}

stock fcs_sub_user_credits( client, credits )
{
	return fcs_set_user_credits( client, max( 0, fcs_get_user_credits( client ) - credits ) );
}

enum Color
{
	NORMAL = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE,
}

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

new const g_szTag[ ] = "[ FuRieN Shop ]";

new g_szMenuName[ ] = "\w-- \y== \r| \dFuRieN ShoP \r| \y== \w--";

const m_iNvg = 129;
const m_iLinuxDiff = 5;

enum _:iCvars
{
	ENABLE,

	NADES_PRICE,
	NADES_TO,

	HP_PRICE,
	HP_AMOUNT,
	HP_TO,

	AP_PRICE,
	AP_AMOUNT,
	AP_TO,

	LIFE_PRICE,
	LIFE_TO,

	GOD_PRICE,
	GOD_TO,

	DEFUSE_PRICE,
	DEFUSE_TO,

	SILENT_PRICE,
	SILENT_TO,

	KNIFE_PRICE,
	KNIFE_TO,

	NVG_PRICE,
	NVG_TO
}

enum _:WhatUserHas
{
        GOD,
        SILENT,
        NVG,
        DEFUSE,
        KNIFE,
}

new g_iCvar[ iCvars ];

new bool:g_bUserHas[ 33 ][ WhatUserHas ];

new super_knife[ 66 ] = "models/v_super_cutit4.mdl";
new super_knife2[ 66 ] = "models/p_super_cutit4.mdl";

new gMessageNVG;

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );

	g_iCvar[ ENABLE ] = register_cvar( "fcsshop_enable", "1" );

	g_iCvar[ NADES_PRICE ] = register_cvar( "fcsshop_nades_price", "7" );
	g_iCvar[ NADES_TO ] = register_cvar( "fcsshop_nades_team", "3" );

	g_iCvar[ HP_PRICE ] = register_cvar( "fcsshop_hp_price", "16" );
	g_iCvar[ HP_AMOUNT ] = register_cvar( "fcsshop_hp_amount", "50" );
	g_iCvar[ HP_TO ] = register_cvar( "fcsshop_hp_team", "3" );

	g_iCvar[ AP_PRICE ] = register_cvar( "fcsshop_ap_price", "10" );
	g_iCvar[ AP_AMOUNT ] = register_cvar( "fcsshop_ap_amount", "150" );
	g_iCvar[ AP_TO ] = register_cvar( "fcsshop_ap_team", "3" );

	g_iCvar[ LIFE_PRICE ] = register_cvar( "fcsshop_life_price", "55" );
	g_iCvar[ LIFE_TO ] = register_cvar( "fcsshop_life_team", "3" );

	g_iCvar[ GOD_PRICE ] = register_cvar( "fcsshop_god_price", "26" );
	g_iCvar[ GOD_TO ] = register_cvar( "fcsshop_god_team", "2" );

	g_iCvar[ DEFUSE_PRICE ] = register_cvar( "fcsshop_defuse_price", "21" );
	g_iCvar[ DEFUSE_TO ] = register_cvar( "fcsshop_defuse_team", "2" );

	g_iCvar[ SILENT_PRICE ] = register_cvar( "fcsshop_silent_price", "41" );
	g_iCvar[ SILENT_TO ] = register_cvar( "fcsshop_silent_team", "2" );

	g_iCvar[ KNIFE_PRICE ] = register_cvar( "fcsshop_knife_price", "35" );
	g_iCvar[ KNIFE_TO ] = register_cvar( "fcsshop_knife_team", "1" );

	g_iCvar[ NVG_PRICE ] = register_cvar( "fcsshop_nvg_price", "50" );
	g_iCvar[ NVG_TO ] = register_cvar( "fcsshop_nvg_team", "2" );

	register_clcmd( "say shop", "ClCmdSayShop" );
	register_clcmd( "say_team shop", "ClCmdSayShop" );
	register_clcmd( "say /shop", "ClCmdSayShop" );
	register_clcmd( "say_team /shop", "ClCmdSayShop" );

        gMessageNVG = get_user_msgid( "NVGToggle" );

	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPre", true );
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilledPre", true );
        RegisterHam( Ham_TakeDamage, "player", "Player_TakeDamage" );

        register_event( "CurWeapon", "RefreshWeapon", "be", "1=1" );
}

public RefreshWeapon( id )
{
      new szWeapon = get_user_weapon( id );
      if ( g_bUserHas[ id ][ KNIFE ] && szWeapon == CSW_KNIFE )
      {
         set_pev( id, pev_viewmodel2, super_knife );
         set_pev( id, pev_weaponmodel2, super_knife2 );
      }
}

public plugin_precache( )
{
   precache_model( super_knife );
   precache_model( super_knife2 );
}

public client_putinserver( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;

	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
        g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;

	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
	g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

public ClCmdSayShop( id )
{
	if( get_pcvar_num( g_iCvar[ ENABLE ] ) == 0 )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Comanda dezactivata de catre server !", g_szTag );
		return PLUGIN_HANDLED;
	}

	if( !is_user_alive( id ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fii in ^x03viata^x01 pentru a accesa ^x04Shop-ul^x01 !", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	ShopMenu( id );
	return PLUGIN_HANDLED;
}

public ShopMenu( id )
{
	new szMenuName[ 64 ];
	formatex( szMenuName, sizeof ( szMenuName ) -1, "%s^n\rCredite: \d%i", g_szMenuName, fcs_get_user_credits( id ) );
	new iMenu = menu_create( szMenuName, "ShopMenuHandler" );	
	new iCallBack  =  menu_makecallback( "CallBackShop" );

	new szBuffer[ 9 ][ 64 ], szBufferKey[ 8 ], iBufferKey = 1;
	formatex( szBuffer[ 0 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFuLL\r ] \wGrenazi\y       [\r %iC\y ]", get_pcvar_num( g_iCvar[ NADES_PRICE ] ) );
	formatex( szBuffer[ 1 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y+%i\r ] \wHP\y             [\r %iC\y ]", get_pcvar_num( g_iCvar[ HP_AMOUNT ] ), get_pcvar_num( g_iCvar[ HP_PRICE ] ) )
	formatex( szBuffer[ 2 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y+%i\r ] \wAP\y             [\r %iC\y ]", get_pcvar_num( g_iCvar[ AP_AMOUNT ] ), get_pcvar_num( g_iCvar[ AP_PRICE ] ) )
	formatex( szBuffer[ 3 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFuLL\r ] \wReinviere\y     [\r %iC\y ]", get_pcvar_num( g_iCvar[ LIFE_PRICE ] ) );
	formatex( szBuffer[ 4 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y7s\r ] \wGoD MoD\y         [\r %iC\y ]", get_pcvar_num( g_iCvar[ GOD_PRICE ] ) );
	formatex( szBuffer[ 5 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wDefuse Kit\y      [\r %iC\y ]", get_pcvar_num( g_iCvar[ DEFUSE_PRICE ] ) );
	formatex( szBuffer[ 6 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wSilent Walk\y     [\r %iC\y ]", get_pcvar_num( g_iCvar[ SILENT_PRICE ] ) );
	formatex( szBuffer[ 7 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yBesT\r ] \wSuPeR KniFe\y   [\r %iC\y ]", get_pcvar_num( g_iCvar[ KNIFE_PRICE ] ) );
	formatex( szBuffer[ 8 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wNighT ViSioN\y    [\r %iC\y ]", get_pcvar_num( g_iCvar[ NVG_PRICE ] ) );

	for( new i = 0; i < 9; i++ )
	{
		formatex( szBufferKey, sizeof ( szBufferKey ) -1, "%i", iBufferKey );
		menu_additem( iMenu, szBuffer[ i ], szBufferKey, _, iCallBack );

		iBufferKey++;
	}

	menu_setprop( iMenu, MPROP_EXITNAME, "\dIesire" );

	menu_display( id, iMenu, 0 );
}

public ShopMenuHandler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	{
		menu_destroy( iMenu );
		return 1PLUGIN_HANDLED;
	}

	new data[ 6 ], iName[ 64 ];
	new iaccess, callback;

	menu_item_getinfo( iMenu, iItem, iaccess, data, 5, iName, 63, callback );

	new key = str_to_num( data );

	menu_destroy( iMenu );
	switch( key )
	{
		case 1:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NADES_PRICE ] );
		
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			if( bUserHasAnyNade( id ) )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 Ai cel putin o grenada in mana, nu poti cumpara altele !", g_szTag );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );
			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Pachet de Grenazi^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			give_item( id, "weapon_hegrenade" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_smokegrenade" );
		}

		case 2:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ HP_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			new iHP = get_pcvar_num( g_iCvar[ HP_AMOUNT ] );

			fcs_sub_user_credits( id, iNeededCredits );

                        set_user_health( id, min( 255, get_user_health( id ) + iHP ) );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 + %i HP^x01 pentru^x04 %i credite^x01 ! Max HP (^x03 255^x01 ) ", g_szTag, iHP, iNeededCredits );

		}

		case 3:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ AP_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			new iAP = get_pcvar_num( g_iCvar[ AP_AMOUNT ] );

			fcs_sub_user_credits( id, iNeededCredits );

                        set_user_armor( id, min( 400, get_user_armor( id ) + iAP ) );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 + %i AP^x01 pentru^x04 %i credite^x01 ! Max AP (^x04 400^x01 )", g_szTag, iAP, iNeededCredits );

		}

		case 4:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ LIFE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

                        if( is_user_alive( id ) )
                        {
			       ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fi^x03Mort^x01 pentru a te reincarna !", g_szTag );
			       return PLUGIN_HANDLED;
                        }

                        fcs_sub_user_credits( id, iNeededCredits );
                        ExecuteHamB( Ham_CS_RoundRespawn, id );
                        strip_user_weapons( id );
                        give_item( id, "weapon_knife" );
                        ColorChat( id, NORMAL, "^x04%s^x01 Ai fost^x03 Reinviat^x01 cu succes pentru^x03 %i credite^x01 !", g_szTag, iNeededCredits );
		}

		case 5:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ GOD_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 God Mode^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			g_bUserHas[ id ][ GOD ] = true;
			set_user_godmode( id, 1 );
			set_task ( 7.0, "removegm", id );
		}

		case 6:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ DEFUSE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Defuse KIT^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			fm_give_item ( id, "item_thighpack" );
			g_bUserHas[ id ][ DEFUSE ] = true;
		}

		case 7:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ SILENT_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Silent Walk ^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			set_user_footsteps( id, 1 );
			g_bUserHas[ id ][ SILENT ] = true;
		}

		case 8:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ KNIFE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Super Knife ^x01pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

                        give_item( id, "weapon_knife");
                        set_pev( id, pev_viewmodel2, super_knife );
                        set_pev( id, pev_weaponmodel2, super_knife2 );
                        g_bUserHas[ id ][ KNIFE ] = true;
                        set_task( 0.1, "Player_TakeDamage", id );
		}

		case 9:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NVG_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Night Vision ^x01pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

                        set_user_nvg( id, 1 );
                        g_bUserHas[ id ][ NVG ] = true;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public removegm( id )
{
    set_user_godmode( id, 0 );
}

public Player_TakeDamage( iVictim, iInflictor, iAttacker, Float:fDamage )
{
	if ( is_user_alive( iAttacker ) && iInflictor == iAttacker && g_bUserHas[ iAttacker ][ KNIFE ] && cs_get_user_team( iAttacker ) == CS_TEAM_T && get_user_weapon ( iAttacker ) == CSW_KNIFE )
        {
		SetHamParamFloat( 4, fDamage * 4.0 );
		return HAM_HANDLED;
	}

	return HAM_IGNORED;
}

public CallBackShop( id, iMenu, iItem )
{
	static _access, szInfo[ 4 ],  callback;
	menu_item_getinfo( iMenu, iItem, _access, szInfo, sizeof ( szInfo ) -1, _, _, callback );
	
	if( szInfo[ 0 ] == '0' )          return ITEM_ENABLED;

 	if( szInfo[ 0 ] == '1' )
	{
		if( get_pcvar_num( g_iCvar[ NADES_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NADES_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '2' )
	{
		if( get_pcvar_num( g_iCvar[ HP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ HP_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '3' )
	{
		if( get_pcvar_num( g_iCvar[ AP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ AP_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '4' )
	{
		if( get_pcvar_num( g_iCvar[ LIFE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ LIFE_TO] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '5' )
	{
		if( get_pcvar_num( g_iCvar[ GOD_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ GOD_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '6' )
	{
		if( get_pcvar_num( g_iCvar[ DEFUSE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ DEFUSE_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '7' )
	{
		if( get_pcvar_num( g_iCvar[ SILENT_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ SILENT_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '8' )
	{
		if( get_pcvar_num( g_iCvar[ KNIFE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ KNIFE_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '9' )
	{
		if( get_pcvar_num( g_iCvar[ NVG_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NVG_TO ] ) )
			return ITEM_ENABLED;
	}

	return ITEM_DISABLED;
}

public ham_PlayerSpawnPre( id )
{
	if( is_user_alive( id ) )
	{
	        set_user_armor( id, 0 );
		set_user_nvg( id, 0 );
		remove_user_nvg( id );
		remove_task( id );
                g_bUserHas[ id ][ DEFUSE ] = false;
                g_bUserHas[ id ][ GOD ] = false;
                g_bUserHas[ id ][ KNIFE ] = false;
	}
}

public ham_PlayerKilledPre(  id  )
{
        g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

stock bool:bUserHasAnyNade( id )
{
	if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) )
		return true;

	return false;
}

stock fcs_get_user_team( id )
{
	new iTeam = -1;
	if( cs_get_user_team( id ) == CS_TEAM_T )	iTeam = 1;

	else 

        if( cs_get_user_team( id ) == CS_TEAM_CT )	iTeam = 2;

	return iTeam;
}

stock set_user_nvg( id, nvgoggles = 1 )
{
	if( nvgoggles )
	{
		set_pdata_int( id, m_iNvg, get_pdata_int( id, m_iNvg ) | HAS_NVGS );
	}

	else
	{
		set_pdata_int( id, m_iNvg, get_pdata_int( id, m_iNvg ) & ~HAS_NVGS );
	}
}

stock remove_user_nvg( id )
{
	new iNvgs = get_pdata_int( id, m_iNvg, m_iLinuxDiff );

	if( !iNvgs )
	{
		return;
	}

	if( iNvgs & USES_NVGS )
	{
		emit_sound( id, CHAN_ITEM, SOUND_NVGOFF, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );

		emessage_begin( MSG_ONE_UNRELIABLE, gMessageNVG, _, id );
		ewrite_byte( 0 );
		emessage_end();
	}

	set_pdata_int( id, m_iNvg, 0, m_iLinuxDiff );
}  

ColorChat( id, Color:iType, const msg[  ], { Float, Sql, Result, _ }:... )
{
	if( !get_playersnum( ) ) return;

	new szMessage[ 256 ];

	switch( iType )
	{
		case NORMAL:	szMessage[ 0 ] = 0x01;

		case GREEN:	szMessage[ 0 ] = 0x04;

		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat( szMessage[ 1 ], 251, msg, 4 );

	szMessage[ 192 ] = '^0';
	
	new iTeam, iColorChange, iPlayerIndex, MSG_Type;

	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer( );
		MSG_Type = MSG_ALL;
	}

	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection( iPlayerIndex,  MSG_Type, iType );

	CC_ShowColorMessage( iPlayerIndex, MSG_Type, szMessage  );

	if( iColorChange )	CC_Team_Info( iPlayerIndex, MSG_Type,  TeamName[ iTeam ] );
}

CC_ShowColorMessage( id, const iType, const szMessage[ ] )
{
	static bool:bSayTextUsed;
	static iMsgSayText;

	if( !bSayTextUsed )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}

	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  )		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[ ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}

	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection( id, const iType, Color:iColorType )
{
	switch( iColorType )
	{
		case RED:	return CC_Team_Info( id, iType, TeamName[ 1 ] );
		case BLUE:	return CC_Team_Info( id, iType, TeamName[ 2 ] );
		case GREY:	return CC_Team_Info( id, iType, TeamName[ 0 ] );
	}

	return 0;
}

CC_FindPlayer( )
{
	new iMaxPlayers  =  get_maxplayers( );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if( is_user_connected( i ) )
			return i;
	return -1;
}
Last edited by levin on 04 Nov 2013, 17:24, edited 1 time in total.
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
RoyalServer
FaNTa2
Membru, skill 0
Membru, skill 0
Posts: 6
Joined: 02 Nov 2013, 12:50
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 1 time
Been thanked: 1 time
Contact:

03 Nov 2013, 19:48

Code: Select all

if ( Health > 300 ) 
				{
					
					ColorChat ( id, GREEN, "^x01[ ^x04 FurienShop^x01 ]^x03 Mesajul care vrei sa apara :D !" );
					return 1;
				}
User avatar
Truth*
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 766
Joined: 11 Oct 2013, 11:08
Detinator Steam: Da
SteamID: Ezeru
Reputatie: Fost moderator ajutator
Membru Club eXtreamCS (4 luni)
Nume anterior: HyperioN.
Scripter eXtreamCS
0.2 / 3
Fond eXtream: 0
Location: Sibiu
Has thanked: 44 times
Been thanked: 122 times

03 Nov 2013, 20:02

Code: Select all

new Health = get_user_health ( id );
         if ( Health <= 255 ) //Aici setezi maximul de hp
{
	fm_set_user_health ( id, get_user_health ( id ) + 50 );//Aici setezi cat HP sa ii dea...
	fcs_set_user_credits ( id, iCredits );
return 1;
}

if( Health > 255 )
{
                client_print(id, print_chat, " Mesajul care sa il primeasca" );
return 1;
}
P.S.: Netestat = Nu am avut timp să mă uit atent peste cod. Deci ceea ce am scris este posibil să fie greşit sau să aibă erori.

If i helped you and you wanna thank me, you can donate at this link : here
This will motivate me to help you in the future.
[If you want a private plugin send me a PM.(No complex plugins please, I am a student and I don't have the time to make those)]
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

03 Nov 2013, 20:05

Am incercat la aman2..nu a mers :((
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

03 Nov 2013, 20:11

| Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < fakemeta_util >
#include < hamsandwich >
#include < fun >

#define PLUGIN "FuRieN Credits Shop"
#define VERSION "1.2x"

#define HAS_NVGS		( 1<<0 )
#define USES_NVGS		( 1<<8 )
#define get_user_nvg( %1 )    	( get_pdata_int( %1, m_iNvg ) & HAS_NVGS )
#define SOUND_NVGOFF		"items/nvg_off.wav"

native fcs_get_user_credits( client );

native fcs_set_user_credits( client, credits );

stock fcs_add_user_credits( client, credits )
{
	return fcs_set_user_credits( client, fcs_get_user_credits( client ) + credits );
}

stock fcs_sub_user_credits( client, credits )
{
	return fcs_set_user_credits( client, max( 0, fcs_get_user_credits( client ) - credits ) );
}

enum Color
{
	NORMAL = 1,
	GREEN,
	TEAM_COLOR,
	GREY,
	RED,
	BLUE,
}

new TeamName[  ][  ] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

new const g_szTag[ ] = "[ FuRieN Shop ]";

new g_szMenuName[ ] = "\w-- \y== \r| \dFuRieN ShoP \r| \y== \w--";

const m_iNvg = 129;
const m_iLinuxDiff = 5;

enum _:iCvars
{
	ENABLE,

	NADES_PRICE,
	NADES_TO,

	HP_PRICE,
	HP_AMOUNT,
	HP_TO,

	AP_PRICE,
	AP_AMOUNT,
	AP_TO,

	LIFE_PRICE,
	LIFE_TO,

	GOD_PRICE,
	GOD_TO,

	DEFUSE_PRICE,
	DEFUSE_TO,

	SILENT_PRICE,
	SILENT_TO,

	KNIFE_PRICE,
	KNIFE_TO,

	NVG_PRICE,
	NVG_TO
}

enum _:WhatUserHas
{
        GOD,
        SILENT,
        NVG,
        DEFUSE,
        KNIFE,
}

new g_iCvar[ iCvars ];

new bool:g_bUserHas[ 33 ][ WhatUserHas ];

new super_knife[ 66 ] = "models/v_super_cutit4.mdl";
new super_knife2[ 66 ] = "models/p_super_cutit4.mdl";

new gMessageNVG;

new maxhp, maxap;

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );

	g_iCvar[ ENABLE ] = register_cvar( "fcsshop_enable", "1" );

	g_iCvar[ NADES_PRICE ] = register_cvar( "fcsshop_nades_price", "7" );
	g_iCvar[ NADES_TO ] = register_cvar( "fcsshop_nades_team", "3" );

	g_iCvar[ HP_PRICE ] = register_cvar( "fcsshop_hp_price", "16" );
	g_iCvar[ HP_AMOUNT ] = register_cvar( "fcsshop_hp_amount", "50" );
	g_iCvar[ HP_TO ] = register_cvar( "fcsshop_hp_team", "3" );

	g_iCvar[ AP_PRICE ] = register_cvar( "fcsshop_ap_price", "10" );
	g_iCvar[ AP_AMOUNT ] = register_cvar( "fcsshop_ap_amount", "150" );
	g_iCvar[ AP_TO ] = register_cvar( "fcsshop_ap_team", "3" );

	g_iCvar[ LIFE_PRICE ] = register_cvar( "fcsshop_life_price", "55" );
	g_iCvar[ LIFE_TO ] = register_cvar( "fcsshop_life_team", "3" );

	g_iCvar[ GOD_PRICE ] = register_cvar( "fcsshop_god_price", "26" );
	g_iCvar[ GOD_TO ] = register_cvar( "fcsshop_god_team", "2" );

	g_iCvar[ DEFUSE_PRICE ] = register_cvar( "fcsshop_defuse_price", "21" );
	g_iCvar[ DEFUSE_TO ] = register_cvar( "fcsshop_defuse_team", "2" );

	g_iCvar[ SILENT_PRICE ] = register_cvar( "fcsshop_silent_price", "41" );
	g_iCvar[ SILENT_TO ] = register_cvar( "fcsshop_silent_team", "2" );

	g_iCvar[ KNIFE_PRICE ] = register_cvar( "fcsshop_knife_price", "35" );
	g_iCvar[ KNIFE_TO ] = register_cvar( "fcsshop_knife_team", "1" );

	g_iCvar[ NVG_PRICE ] = register_cvar( "fcsshop_nvg_price", "50" );
	g_iCvar[ NVG_TO ] = register_cvar( "fcsshop_nvg_team", "2" );

	register_clcmd( "say shop", "ClCmdSayShop" );
	register_clcmd( "say_team shop", "ClCmdSayShop" );
	register_clcmd( "say /shop", "ClCmdSayShop" );
	register_clcmd( "say_team /shop", "ClCmdSayShop" );

        gMessageNVG = get_user_msgid( "NVGToggle" );

	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawnPre", true );
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilledPre", true );
        RegisterHam( Ham_TakeDamage, "player", "Player_TakeDamage" );

        register_event( "CurWeapon", "RefreshWeapon", "be", "1=1" );
	maxap = register_cvar("shop_maxhp", "300")
	maxap = register_cvar("shop_maxap", "300")
}

public RefreshWeapon( id )
{
      new szWeapon = get_user_weapon( id );
      if ( g_bUserHas[ id ][ KNIFE ] && szWeapon == CSW_KNIFE )
      {
         set_pev( id, pev_viewmodel2, super_knife );
         set_pev( id, pev_weaponmodel2, super_knife2 );
      }
}

public plugin_precache( )
{
   precache_model( super_knife );
   precache_model( super_knife2 );
}

public client_putinserver( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;

	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
        g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

public client_disconnect( id )
{
	if( is_user_bot( id ) || is_user_hltv( id ) )
		return;

	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
	g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

public ClCmdSayShop( id )
{
	if( get_pcvar_num( g_iCvar[ ENABLE ] ) == 0 )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Comanda dezactivata de catre server !", g_szTag );
		return PLUGIN_HANDLED;
	}

	if( !is_user_alive( id ) )
	{
		ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fii in ^x03viata^x01 pentru a accesa ^x04Shop-ul^x01 !", g_szTag );
		return PLUGIN_HANDLED;
	}
	
	ShopMenu( id );
	return PLUGIN_HANDLED;
}

public ShopMenu( id )
{
	new szMenuName[ 64 ];
	formatex( szMenuName, sizeof ( szMenuName ) -1, "%s^n\rCredite: \d%i", g_szMenuName, fcs_get_user_credits( id ) );
	new iMenu = menu_create( szMenuName, "ShopMenuHandler" );	
	new iCallBack  =  menu_makecallback( "CallBackShop" );

	new szBuffer[ 9 ][ 64 ], szBufferKey[ 8 ], iBufferKey = 1;
	formatex( szBuffer[ 0 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFuLL\r ] \wGrenazi\y       [\r %iC\y ]", get_pcvar_num( g_iCvar[ NADES_PRICE ] ) );
	formatex( szBuffer[ 1 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y+%i\r ] \wHP\y             [\r %iC\y ]", get_pcvar_num( g_iCvar[ HP_AMOUNT ] ), get_pcvar_num( g_iCvar[ HP_PRICE ] ) )
	formatex( szBuffer[ 2 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y+%i\r ] \wAP\y             [\r %iC\y ]", get_pcvar_num( g_iCvar[ AP_AMOUNT ] ), get_pcvar_num( g_iCvar[ AP_PRICE ] ) )
	formatex( szBuffer[ 3 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yFuLL\r ] \wReinviere\y     [\r %iC\y ]", get_pcvar_num( g_iCvar[ LIFE_PRICE ] ) );
	formatex( szBuffer[ 4 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y7s\r ] \wGoD MoD\y         [\r %iC\y ]", get_pcvar_num( g_iCvar[ GOD_PRICE ] ) );
	formatex( szBuffer[ 5 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wDefuse Kit\y      [\r %iC\y ]", get_pcvar_num( g_iCvar[ DEFUSE_PRICE ] ) );
	formatex( szBuffer[ 6 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wSilent Walk\y     [\r %iC\y ]", get_pcvar_num( g_iCvar[ SILENT_PRICE ] ) );
	formatex( szBuffer[ 7 ], sizeof ( szBuffer[ ] ) -1, "\r[ \yBesT\r ] \wSuPeR KniFe\y   [\r %iC\y ]", get_pcvar_num( g_iCvar[ KNIFE_PRICE ] ) );
	formatex( szBuffer[ 8 ], sizeof ( szBuffer[ ] ) -1, "\r[ \y1R\r ] \wNighT ViSioN\y    [\r %iC\y ]", get_pcvar_num( g_iCvar[ NVG_PRICE ] ) );

	for( new i = 0; i < 9; i++ )
	{
		formatex( szBufferKey, sizeof ( szBufferKey ) -1, "%i", iBufferKey );
		menu_additem( iMenu, szBuffer[ i ], szBufferKey, _, iCallBack );

		iBufferKey++;
	}

	menu_setprop( iMenu, MPROP_EXITNAME, "\dIesire" );

	menu_display( id, iMenu, 0 );
}

public ShopMenuHandler( id, iMenu, iItem )
{
	if( iItem == MENU_EXIT )
	{
		menu_destroy( iMenu );
		return 1PLUGIN_HANDLED;
	}

	new data[ 6 ], iName[ 64 ];
	new iaccess, callback;

	menu_item_getinfo( iMenu, iItem, iaccess, data, 5, iName, 63, callback );

	new key = str_to_num( data );

	menu_destroy( iMenu );
	switch( key )
	{
		case 1:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NADES_PRICE ] );
		
			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			if( bUserHasAnyNade( id ) )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 Ai cel putin o grenada in mana, nu poti cumpara altele !", g_szTag );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );
			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Pachet de Grenazi^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			give_item( id, "weapon_hegrenade" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_flashbang" );
			give_item( id, "weapon_smokegrenade" );
		}

		case 2:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ HP_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			
			if(get_user_health(id) >= get_pcvar_num(maxhp))
			{
				ColorChat(id, NORMAL, "Nu poti lua mai mult de %d", get_pcvar_num(maxhp));
				return PLUGIN_HANDLED;
			}
			else
			{
				new iHP = get_pcvar_num( g_iCvar[ HP_AMOUNT ] );

				fcs_sub_user_credits( id, iNeededCredits );

				set_user_health( id, min( 255, get_user_health( id ) + iHP ) );

				ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 + %i HP^x01 pentru^x04 %i credite^x01 ! Max HP (^x03 255^x01 ) ", g_szTag, iHP, iNeededCredits );
			}

		}

		case 3:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ AP_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}
			if(get_user_armor(id)>= get_pcvar_num(maxap))
			{
				ColorChat(id, NORMAL, "Nu poti lua mai mult de %d", get_pcvar_num(maxap));
				return PLUGIN_HANDLED;
			}
			else
			{
				new iAP = get_pcvar_num( g_iCvar[ AP_AMOUNT ] );

				fcs_sub_user_credits( id, iNeededCredits );

				set_user_armor( id, min( 400, get_user_armor( id ) + iAP ) );

				ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 + %i AP^x01 pentru^x04 %i credite^x01 ! Max AP (^x04 400^x01 )", g_szTag, iAP, iNeededCredits );
			}

		}

		case 4:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ LIFE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

                        if( is_user_alive( id ) )
                        {
			       ColorChat( id, NORMAL, "^x04%s^x01 Trebuie sa fi^x03Mort^x01 pentru a te reincarna !", g_szTag );
			       return PLUGIN_HANDLED;
                        }

                        fcs_sub_user_credits( id, iNeededCredits );
                        ExecuteHamB( Ham_CS_RoundRespawn, id );
                        strip_user_weapons( id );
                        give_item( id, "weapon_knife" );
                        ColorChat( id, NORMAL, "^x04%s^x01 Ai fost^x03 Reinviat^x01 cu succes pentru^x03 %i credite^x01 !", g_szTag, iNeededCredits );
		}

		case 5:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ GOD_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 God Mode^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			g_bUserHas[ id ][ GOD ] = true;
			set_user_godmode( id, 1 );
			set_task ( 7.0, "removegm", id );
		}

		case 6:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ DEFUSE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Defuse KIT^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			fm_give_item ( id, "item_thighpack" );
			g_bUserHas[ id ][ DEFUSE ] = true;
		}

		case 7:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ SILENT_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Silent Walk ^x01 pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

			set_user_footsteps( id, 1 );
			g_bUserHas[ id ][ SILENT ] = true;
		}

		case 8:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ KNIFE_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Super Knife ^x01pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

                        give_item( id, "weapon_knife");
                        set_pev( id, pev_viewmodel2, super_knife );
                        set_pev( id, pev_weaponmodel2, super_knife2 );
                        g_bUserHas[ id ][ KNIFE ] = true;
                        set_task( 0.1, "Player_TakeDamage", id );
		}

		case 9:
		{
			new iCredits, iNeededCredits;
			iCredits = fcs_get_user_credits( id );
			iNeededCredits = get_pcvar_num( g_iCvar[ NVG_PRICE ] );

			if( iCredits < iNeededCredits )
			{
				ColorChat( id, NORMAL, "^x04%s^x01 NU^x01 ai destule credite, iti mai trebuie^x03 %i credite^x01 !", g_szTag, iNeededCredits - iCredits );
				return PLUGIN_HANDLED;
			}

			fcs_sub_user_credits( id, iNeededCredits );

			ColorChat( id, NORMAL, "^x04%s^x01 Ai cumparat^x03 Night Vision ^x01pentru^x04 %i credite^x01 !", g_szTag, iNeededCredits );

                        set_user_nvg( id, 1 );
                        g_bUserHas[ id ][ NVG ] = true;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public removegm( id )
{
    set_user_godmode( id, 0 );
}

public Player_TakeDamage( iVictim, iInflictor, iAttacker, Float:fDamage )
{
	if ( is_user_alive( iAttacker ) && iInflictor == iAttacker && g_bUserHas[ iAttacker ][ KNIFE ] && cs_get_user_team( iAttacker ) == CS_TEAM_T && get_user_weapon ( iAttacker ) == CSW_KNIFE )
        {
		SetHamParamFloat( 4, fDamage * 4.0 );
		return HAM_HANDLED;
	}

	return HAM_IGNORED;
}

public CallBackShop( id, iMenu, iItem )
{
	static _access, szInfo[ 4 ],  callback;
	menu_item_getinfo( iMenu, iItem, _access, szInfo, sizeof ( szInfo ) -1, _, _, callback );
	
	if( szInfo[ 0 ] == '0' )          return ITEM_ENABLED;

 	if( szInfo[ 0 ] == '1' )
	{
		if( get_pcvar_num( g_iCvar[ NADES_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NADES_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '2' )
	{
		if( get_pcvar_num( g_iCvar[ HP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ HP_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '3' )
	{
		if( get_pcvar_num( g_iCvar[ AP_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ AP_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '4' )
	{
		if( get_pcvar_num( g_iCvar[ LIFE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ LIFE_TO] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '5' )
	{
		if( get_pcvar_num( g_iCvar[ GOD_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ GOD_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '6' )
	{
		if( get_pcvar_num( g_iCvar[ DEFUSE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ DEFUSE_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '7' )
	{
		if( get_pcvar_num( g_iCvar[ SILENT_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ SILENT_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '8' )
	{
		if( get_pcvar_num( g_iCvar[ KNIFE_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ KNIFE_TO ] ) )
			return ITEM_ENABLED;
	}

	else
        if( szInfo[ 0 ] == '9' )
	{
		if( get_pcvar_num( g_iCvar[ NVG_TO ] ) == 3 || fcs_get_user_team( id ) == get_pcvar_num( g_iCvar[ NVG_TO ] ) )
			return ITEM_ENABLED;
	}

	return ITEM_DISABLED;
}

public ham_PlayerSpawnPre( id )
{
	if( is_user_alive( id ) )
	{
	        set_user_armor( id, 0 );
		set_user_nvg( id, 0 );
		remove_user_nvg( id );
		remove_task( id );
                g_bUserHas[ id ][ DEFUSE ] = false;
                g_bUserHas[ id ][ GOD ] = false;
                g_bUserHas[ id ][ KNIFE ] = false;
	}
}

public ham_PlayerKilledPre(  id  )
{
        g_bUserHas[ id ][ GOD ] = false;
        g_bUserHas[ id ][ DEFUSE ] = false;
	g_bUserHas[ id ][ SILENT ] = false;
	g_bUserHas[ id ][ NVG ] = false;
        g_bUserHas[ id ][ KNIFE ] = false;
}

stock bool:bUserHasAnyNade( id )
{
	if( user_has_weapon( id, CSW_HEGRENADE ) || user_has_weapon( id, CSW_FLASHBANG ) || user_has_weapon( id, CSW_SMOKEGRENADE ) )
		return true;

	return false;
}

stock fcs_get_user_team( id )
{
	new iTeam = -1;
	if( cs_get_user_team( id ) == CS_TEAM_T )	iTeam = 1;

	else 

        if( cs_get_user_team( id ) == CS_TEAM_CT )	iTeam = 2;

	return iTeam;
}

stock set_user_nvg( id, nvgoggles = 1 )
{
	if( nvgoggles )
	{
		set_pdata_int( id, m_iNvg, get_pdata_int( id, m_iNvg ) | HAS_NVGS );
	}

	else
	{
		set_pdata_int( id, m_iNvg, get_pdata_int( id, m_iNvg ) & ~HAS_NVGS );
	}
}

stock remove_user_nvg( id )
{
	new iNvgs = get_pdata_int( id, m_iNvg, m_iLinuxDiff );

	if( !iNvgs )
	{
		return;
	}

	if( iNvgs & USES_NVGS )
	{
		emit_sound( id, CHAN_ITEM, SOUND_NVGOFF, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );

		emessage_begin( MSG_ONE_UNRELIABLE, gMessageNVG, _, id );
		ewrite_byte( 0 );
		emessage_end();
	}

	set_pdata_int( id, m_iNvg, 0, m_iLinuxDiff );
}  

ColorChat( id, Color:iType, const msg[  ], { Float, Sql, Result, _ }:... )
{
	if( !get_playersnum( ) ) return;

	new szMessage[ 256 ];

	switch( iType )
	{
		case NORMAL:	szMessage[ 0 ] = 0x01;

		case GREEN:	szMessage[ 0 ] = 0x04;

		default: 	szMessage[ 0 ] = 0x03;
	}

	vformat( szMessage[ 1 ], 251, msg, 4 );

	szMessage[ 192 ] = '^0';
	
	new iTeam, iColorChange, iPlayerIndex, MSG_Type;

	if( id )
	{
		MSG_Type  =  MSG_ONE_UNRELIABLE;
		iPlayerIndex  =  id;
	}
	else
	{
		iPlayerIndex  =  CC_FindPlayer( );
		MSG_Type = MSG_ALL;
	}

	iTeam  =  get_user_team( iPlayerIndex );
	iColorChange  =  CC_ColorSelection( iPlayerIndex,  MSG_Type, iType );

	CC_ShowColorMessage( iPlayerIndex, MSG_Type, szMessage  );

	if( iColorChange )	CC_Team_Info( iPlayerIndex, MSG_Type,  TeamName[ iTeam ] );
}

CC_ShowColorMessage( id, const iType, const szMessage[ ] )
{
	static bool:bSayTextUsed;
	static iMsgSayText;

	if( !bSayTextUsed )
	{
		iMsgSayText  =  get_user_msgid( "SayText" );
		bSayTextUsed  =  true;
	}

	message_begin( iType, iMsgSayText, _, id  );
	write_byte(  id  )		
	write_string(  szMessage  );
	message_end(  );
}

CC_Team_Info( id, const iType, const szTeam[ ] )
{
	static bool:bTeamInfoUsed;
	static iMsgTeamInfo;
	if(  !bTeamInfoUsed  )
	{
		iMsgTeamInfo  =  get_user_msgid( "TeamInfo" );
		bTeamInfoUsed  =  true;
	}

	message_begin( iType, iMsgTeamInfo, _, id  );
	write_byte(  id  );
	write_string(  szTeam  );
	message_end(  );

	return 1;
}

CC_ColorSelection( id, const iType, Color:iColorType )
{
	switch( iColorType )
	{
		case RED:	return CC_Team_Info( id, iType, TeamName[ 1 ] );
		case BLUE:	return CC_Team_Info( id, iType, TeamName[ 2 ] );
		case GREY:	return CC_Team_Info( id, iType, TeamName[ 0 ] );
	}

	return 0;
}

CC_FindPlayer( )
{
	new iMaxPlayers  =  get_maxplayers( );
	
	for( new i = 1; i <= iMaxPlayers; i++ )
		if( is_user_connected( i ) )
			return i;
	return -1;
}
Vezi ca ti-am pus 2 cvaruri
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

03 Nov 2013, 21:09

Testez si revin :)
EDIT: Merge :D +1 FaTzZu :-??
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Post Reply

Return to “Cereri”

  • Information