Raised This Month: $32 Target: $400
 8% 

ZP 5.0 to 4.3 Ammo/Points Shop EDIT


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Godofwar
AlliedModders Donor
Join Date: Dec 2015
Location: Germany
Old 02-18-2018 , 12:21   ZP 5.0 to 4.3 Ammo/Points Shop EDIT
Reply With Quote #1

Could anyone make it work for zp 4.3 ? That would be great.... + inc when any changes there...


Code:
#include < amxmodx >
#include < hamsandwich >
#include < fakemeta_util >
#include < zombieplague >
#include < zp50_colorchat.inc >

native zp_get_user_points( id );
native zp_set_user_points( id, amount );
native zp_add_user_points( id, amount );
native zp_del_user_points( id, amount );

new bool:g_GodMode[ 33 ], bool:g_Damage[ 33 ], bool:g_Damage2[ 33 ];

new cvar_godmode_cost, cvar_damage_cost, cvar_ammo_cost, cvar_ammo2_cost, cvar_ammo3_cost;

public plugin_init( ) 
{
	register_plugin( "ZP Buy", "1.0", "Cristi. C" );

	register_clcmd( "say /shop", "command_Buy" );
	register_clcmd( "say shop", "command_Buy" );

	register_menucmd( register_menuid( "Menu1" ), 1023, "BuyMenu" );

	RegisterHam( Ham_Spawn, "player", "ham_PlayerSpawned_Post", 1 );
	RegisterHam( Ham_Killed, "player", "ham_PlayerKilled" );
	RegisterHam( Ham_TakeDamage, "player", "ham_TakeDamage" );

	cvar_damage_cost = register_cvar( "zp_damage_cost", "120" );
	cvar_ammo_cost = register_cvar( "zp_ammo_cost", "160" );
	cvar_ammo2_cost = register_cvar( "zp_ammo_cost", "200" );
	cvar_ammo3_cost = register_cvar( "zp_ammo_cost", "280" );
	cvar_godmode_cost = register_cvar( "zp_godmode_cost", "150" );
}

public command_Buy( id ) 
{
	new szMenu[ 2025 ];
	add( szMenu, 2024, "\yZP Buy\r[1/2]^n^n" );
	add( szMenu, 2024, "\r1.\wDouble Damage \r[120 points]^n" );
	//add( szMenu, 2024, "\r2.\wBuy Server Slot \r[700 points]^n" );
	//add( szMenu, 2024, "\r3.\wBuy Admin Model \r[2250 points]^n" );
	add( szMenu, 2024, "\r2.\w100 Ammo Packs \r[160 points]^n" );
	add( szMenu, 2024, "\r3.\w200 Ammo Packs \r[200 points]^n" );
	add( szMenu, 2024, "\r4.\w300 Ammo Packs \r50^n" );
	add( szMenu, 2024, "\r5.\wGod Mode \r[150 points]^n^n" );

	add( szMenu, 2024, "\r9.\wNext^n" );
	add( szMenu, 2024, "\r0.\wExit^n" );

	show_menu( id, ( 1 << 0 | 1 << 1 | 1 << 2 | 1 << 3 | 1 << 4 | 1 << 5 | 1 << 6 | 1 << 7 | 1 << 8 | 1 << 9 ), szMenu, -1, "Menu1" );
}

public ham_TakeDamage( victim, inflictor, attacker, Float:damage ) 
{
	if ( victim == attacker || !is_user_connected( attacker ) ) 
		return HAM_IGNORED;

	if ( g_Damage2[ attacker ] ) 
	{
		damage *= 2.0;
		SetHamParamFloat( 4, damage );
	}
	return HAM_IGNORED;
}

public ham_PlayerKilled( id )
{
	if ( is_user_connected( id ) && g_Damage2[ id ] )
		g_Damage2[ id ] = false;
}

public Ham_PlayerSpawnPost( id )
{
	if ( is_user_connected( id ) && g_Damage2[ id ] )
		g_Damage2[ id ] = false;

	if ( is_user_connected( id ) && g_GodMode[ id ] ) 
	{
		g_GodMode[ id ] = false;
		fm_set_user_godmode( id, 1 );
	}
	if ( is_user_connected( id ) && g_Damage[ id ] ) 
	{
		g_Damage[ id ] = false;
		g_Damage2[ id ] = true;
	}
}

public client_disconnect( id ) 
{
	if ( g_GodMode[ id ] ) 
		g_GodMode[ id ] = false;
	if ( g_Damage[ id ] ) 
		g_Damage[ id ] = false;
	if ( g_Damage2[ id ] ) 
		g_Damage2[ id ] = false;
}

public BuyMenu( id, key ) 
{
	static szName[ 32 ];
	get_user_name( id, szName, sizeof ( szName ) -1 );

	switch( key ) 
	{
		case 0: 
		{
			if ( zp_get_user_points( id ) >= get_pcvar_num( cvar_damage_cost ) ) 
			{
				g_Damage[ id ] = true;
				zp_colored_print( 0, "^3%s ^4has bought ^3Dual Damage", szName );
				zp_del_user_points( id, get_pcvar_num( cvar_damage_cost ) );
			} 
			else zp_colored_print( id, "You don't have enough points! Needed are ^3%d ^4points", get_pcvar_num( cvar_damage_cost ) );
		} 
		case 1: 
		{
			if (zp_get_user_points( id ) >= get_pcvar_num( cvar_ammo_cost ) ) 
			{
				zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) + 100 );
				zp_colored_print( 0, "^3%s ^4has bought^3 100 Ammo Packs", szName );
				zp_del_user_points( id, get_pcvar_num( cvar_ammo_cost ) );
			} 
			else zp_colored_print( id, "You don't have enough points! Needed are ^3%d ^4points", get_pcvar_num(cvar_ammo_cost));
		}
		case 2: 
		{
			if (zp_get_user_points( id ) >= get_pcvar_num( cvar_ammo2_cost ) ) 
			{
				zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) + 200 );
				zp_colored_print( 0, "^3%s ^4has bought^3 200 Ammo Packs", szName );
				zp_del_user_points( id, get_pcvar_num( cvar_ammo2_cost ) );
			} 
			else zp_colored_print( id, "You don't have enough points! Needed are ^3%d ^4points", get_pcvar_num(cvar_ammo2_cost));
		}
		case 3: 
		{
			if (zp_get_user_points( id ) >= get_pcvar_num( cvar_ammo3_cost ) ) 
			{
				zp_set_user_ammo_packs( id, zp_get_user_ammo_packs( id ) + 300 );
				zp_colored_print( 0, "^3%s ^4has bought^3 300 Ammo Packs", szName );
				zp_del_user_points( id, get_pcvar_num( cvar_ammo3_cost ) );
			} 
			else zp_colored_print( id, "You don't have enough points! Needed are ^3%d ^4points", get_pcvar_num( cvar_ammo3_cost ) );
		}
		case 4: 
		{
			if ( zp_get_user_points( id ) >= get_pcvar_num( cvar_godmode_cost ) ) 
			{
				g_GodMode[ id ] = true;
				zp_colored_print( 0, "^3%s ^4a cumparat ^3God Mode", szName );
				zp_del_user_points( id, get_pcvar_num( cvar_godmode_cost ) );
			} 
			else zp_colored_print( id, "You don't have enough points! Needed are ^3%d ^4points", get_pcvar_num( cvar_godmode_cost ) );
		} 
		default: 
		{
			return 0;
		}
	}
	return 0;
}
Godofwar is offline
Reply



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

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

Forum Jump


All times are GMT -4. The time now is 20:30.


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