Cerere editare

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
J3FF
Membru, skill +1
Membru, skill +1
Posts: 472
Joined: 27 Oct 2007, 20:02
Detinator Steam: Nu
CS Status: ON and Ready 2 PLAY
Detinator server CS: Nu
Location: SiBiU
Has thanked: 25 times
Been thanked: 39 times

06 May 2012, 19:33

Multumesc !
Last edited by J3FF on 10 May 2012, 22:11, edited 2 times in total.
Unii ma mai stiu de e t n a d

Image
RoyalServer
User avatar
sDs|Aragon*
Membru, skill +2
Membru, skill +2
Posts: 576
Joined: 29 Dec 2011, 21:38
Detinator Steam: Da
SteamID: Mihai_Parkour10
Reputatie: Fost scripter eXtreamCS
Has thanked: 4 times
Been thanked: 132 times

06 May 2012, 21:58

Nu l-am testat, vezi daca merge(ar trebui)
Daca gasesti ceva buguri posteaza:)
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define VERSION "4.0"
#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
#define MAX_PLAYERS 32
#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

new g_iMaxPlayers
new jumpznum[33] = 0
new bool:dozjump[33] = false  
new jumps
new const g_ModelSuperKnife[] = "models/superknife_new.mdl"

new bool:g_HasSuperKnife[MAX_PLAYERS+1]
new bool:g_HasSpeed[MAX_PLAYERS+1]
new bool:g_HasGravityT[MAX_PLAYERS+1]
new bool:g_HasGravityCt[MAX_PLAYERS+1]
new bool:g_HasBhop[MAX_PLAYERS+1]
new bool:g_HasMultiJump[MAX_PLAYERS+1]
enum _:ItemsT {
	Item_SuperKnife_T = 1,
	Item_Gravity_T,
	Item_Speed,
	Item_Bhop_T,
	Item_MultiJump_T
}

enum _:ItemsCT {
	Item_SuperKnife_Ct = 1,
	Item_Gravity_Ct,
	Item_M249,
	Item_G3SG1,
	Item_SG550,
	Item_AWP,
	Item_P90,
	Item_Bhop_Ct,
	Item_MultiJump_Ct
}

new g_pCvarTCost[ItemsT], g_pCvarCTCost[ItemsCT]
new g_pCvarQuantityGravityT, g_pCvarQuantityGravityCt
new g_pCvarQuantitySpeed

public plugin_init() 
{
	register_plugin("Shop", VERSION, "Fr33m@n")
	
	register_clcmd("say /shop", "ShowShop")
	register_clcmd("say_team /shop", "ShowShop")
	
	g_pCvarTCost[Item_SuperKnife_T] = register_cvar("shopbb_cost_superknife_t", "16000")
	g_pCvarTCost[Item_Gravity_T] = register_cvar("shopbb_cost_gravity_t", "12000")
	g_pCvarTCost[Item_Speed] = register_cvar("shopbb_cost_speed", "6000")
	g_pCvarTCost[Item_Bhop_T] = register_cvar("shopbb_cost_bhop_t", "3000")
	g_pCvarTCost[Item_MultiJump_T] = register_cvar("shopbb_cost_multijump_t", "10000")
	
	g_pCvarCTCost[Item_SuperKnife_Ct] = register_cvar("shopbb_cost_superknife_ct", "16000")
	g_pCvarCTCost[Item_Gravity_Ct] = register_cvar("shopbb_cost_gravity_ct", "12000")
	g_pCvarCTCost[Item_M249] = register_cvar("shopbb_cost_m249", "7000")
	g_pCvarCTCost[Item_G3SG1] = register_cvar("shopbb_cost_g3sg1", "8000")
	g_pCvarCTCost[Item_SG550] = register_cvar("shopbb_cost_sg550", "8000")
	g_pCvarCTCost[Item_AWP] = register_cvar("shopbb_cost_awp", "8000")
	g_pCvarCTCost[Item_P90] = register_cvar("shopbb_cost_p90", "7000")
	g_pCvarCTCost[Item_Bhop_Ct] = register_cvar("shopbb_cost_bhop_ct", "3000")
	g_pCvarCTCost[Item_MultiJump_Ct] = register_cvar("shopbb_cost_multijump_ct", "10000")
	
	g_pCvarQuantitySpeed = register_cvar("shopbb_quantity_speed", "310.0")
	g_pCvarQuantityGravityT = register_cvar("shopbb_quantity_gravity_t", "0.350")
	g_pCvarQuantityGravityCt = register_cvar("shopbb_quantity_gravity_ct", "0.350")
	jumps = register_cvar("shopbb_multijump","1") 
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
	RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage_Pre")
	RegisterHam(Ham_Item_Deploy, "weapon_knife", "ham_ItemDeploy_Post", 1)
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)
	
	g_iMaxPlayers = get_maxplayers()
	
	set_cvar_num("sv_maxspeed", 999)
}

public plugin_precache()
{
	precache_model(g_ModelSuperKnife)
}
public Player_ResetMaxSpeed( id )
{
	if ( is_user_alive ( id ) )
	{
		if ( get_user_maxspeed(id) != -1.0 )
		{
			if ( g_HasSpeed[id] )
			{
				set_user_maxspeed(id, 600.0)
			}
		}
	}
}

public client_connect( id )
{
	client_cmd(id, "cl_forwardspeed 999;cl_sidespeed 999;cl_backspeed 999")
	g_HasSuperKnife[id] = false
	g_HasSpeed[id] = false;
}

public ShowShop(id)
{ 
	if ( is_user_alive(id) )
	{
		new Text[32]
		
		if ( cs_get_user_team(id) == CS_TEAM_T )
		{ 
			new menu = menu_create ("\w[\rShop\w]", "ShopT")
			formatex(Text, charsmax(Text), "\wSuper Ghiare \y[\r%d $\y]", get_pcvar_num(g_pCvarTCost[Item_SuperKnife_T]))
			menu_additem(menu, Text, "1")
			formatex(Text, charsmax(Text), "\wGravitatie \y[\r%d $\y]", get_pcvar_num(g_pCvarTCost[Item_Gravity_T]))
			menu_additem(menu, Text, "2")
			formatex(Text, charsmax(Text), "\wViteza \y[\r%d $\y]", get_pcvar_num(g_pCvarTCost[Item_Speed]))
			menu_additem(menu, Text, "3")
			formatex(Text, charsmax(Text), "\wBunny Hop \y[\r%d $\y]", get_pcvar_num(g_pCvarTCost[Item_Bhop_T]))
			menu_additem(menu, Text, "4")
			formatex(Text, charsmax(Text), "\wMulti Jump \y[\r%d $\y]", get_pcvar_num(g_pCvarTCost[Item_MultiJump_T]))
			menu_additem(menu, Text, "5")
			menu_setprop(menu, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu)
		}
		
		else
		{
			new menu2 = menu_create ("\w[\rShop\w]", "ShopCt")
			formatex(Text, charsmax(Text), "\wSuper Ghiare \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_SuperKnife_Ct]))
			menu_additem(menu2, Text, "1")
			formatex(Text, charsmax(Text), "\wGravitatie \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_Gravity_Ct]))
			menu_additem(menu2, Text, "2")
			formatex(Text, charsmax(Text), "\wCiuruitoare \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_M249]))
			menu_additem(menu2, Text, "3")
			formatex(Text, charsmax(Text), "\wLuneta 1 \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_G3SG1]))
			menu_additem(menu2, Text, "4")
			formatex(Text, charsmax(Text), "\wLuneta 2 \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_SG550]))
			menu_additem(menu2, Text, "5")
			formatex(Text, charsmax(Text), "\wAWP \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_AWP]))
			menu_additem(menu2, Text, "6")
			formatex(Text, charsmax(Text), "\wThomson Auriu \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_P90]))
			menu_additem(menu2, Text, "7")
			formatex(Text, charsmax(Text), "\wBunny Hop \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_Bhop_Ct]))
			menu_additem(menu2, Text, "8")
			formatex(Text, charsmax(Text), "\wMulti Jump \y[\r%d $\y]", get_pcvar_num(g_pCvarCTCost[Item_MultiJump_Ct]))
			menu_additem(menu2, Text, "9")
			menu_setprop(menu2, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu2, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu2)
		}
	}
	else
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
	}
}

public ShopT(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_T:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Super Ghiare!")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Super Ghiare !")
			}
			
			case Item_Gravity_T:
			{
				if ( g_HasGravityT[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT) )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie !")
				g_HasGravityT[id] = true;
			}
			
			case Item_Speed:
			{
				if ( g_HasSpeed[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Viteza !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSpeed[id] = true;
				set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Viteza !")
			}
			case Item_Bhop_T:
			{
				if ( g_HasBhop[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhop[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_T:
			{
				if ( g_HasMultiJump[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJump[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public ShopCt(id, menu2, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item!")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu2, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarCTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_Ct:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Super Cutit!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Super Cutit!!")
			}
			
			case Item_Gravity_Ct:
			{     
				if ( g_HasGravityCt[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie!")
				g_HasGravityCt[id] = true;
			}
			
			case Item_M249:
			{
				if ( user_has_weapon(id, CSW_M249 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Ciuruitoare !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_m249")
				cs_set_user_bpammo( id, CSW_M249, 999 );
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Ciuruitoare !")
			}
			
			case Item_G3SG1:
			{
				if ( user_has_weapon(id, CSW_G3SG1 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_g3sg1")
				cs_set_user_bpammo( id, CSW_G3SG1, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_SG550:
			{
				if ( user_has_weapon(id, CSW_SG550 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_sg550")
				cs_set_user_bpammo( id, CSW_SG550, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_AWP:
			{
				if ( cs_get_user_bpammo(id, CSW_AWP ) == 2 )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un AWP !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_awp")
				cs_set_user_bpammo( id, CSW_AWP, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un AWP !")
			}
			
			case Item_P90:
			{
				if ( user_has_weapon(id, CSW_P90) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Thomson !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_p90")
				cs_set_user_bpammo( id, CSW_P90, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Thomson !")
			}
			case Item_Bhop_Ct:
			{
				if ( g_HasBhop[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhop[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_Ct:
			{
				if ( g_HasMultiJump[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJump[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu2)
	return PLUGIN_HANDLED
}

public Player_Spawn_Post(id)
{
	if ( is_user_alive ( id ) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Scrie in chat /shop pentru a cumpara iteme NOI !")
		
		if ( g_HasSuperKnife[id] && get_user_weapon(id) == CSW_KNIFE )
		{
			set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
		}
		g_HasSuperKnife[id] = false
		g_HasSpeed[id] = false;
		
	} 
}

public ham_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, damage_bits)
{
	if ( IsPlayer(attacker) && g_HasSuperKnife[attacker] && is_user_alive(attacker) && inflictor == attacker && get_user_weapon(attacker) == CSW_KNIFE )
	{
		SetHamParamFloat( 4, damage * 154.0 )
	}
}

public ham_ItemDeploy_Post(weapon_ent)
{
	static owner
	owner = get_pdata_cbase(weapon_ent, 41, 4)
	
	if ( is_user_alive(owner) && g_HasSuperKnife[owner] )
	{
		set_pev(owner, pev_viewmodel2, g_ModelSuperKnife)
	}
} 
public event_curweapon(id) 
{
	if(g_HasSpeed[id] && get_user_maxspeed(id) < get_pcvar_float(g_pCvarQuantitySpeed)) 
	{
	set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed));
	}
	if(g_HasGravityCt[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityCt)) 
	{
	set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt));
	}
	if(g_HasGravityT[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityT)) 
	{
	set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT));
	}
}
public client_PreThink(id) {
	if (g_HasBhop[id]) {
		
		entity_set_float(id, EV_FL_fuser2, 0.0)		// Won't slow down after a jump
		
		if (entity_get_int(id, EV_INT_button) & 2) {	
			new flags = entity_get_int(id, EV_INT_flags)
			
			if (flags & FL_WATERJUMP)
				return PLUGIN_CONTINUE
			if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
				return PLUGIN_CONTINUE
			if ( !(flags & FL_ONGROUND) )
				return PLUGIN_CONTINUE
			
			new Float:velocity[3]
			entity_get_vector(id, EV_VEC_velocity, velocity)
			velocity[2] += 250.0
			entity_set_vector(id, EV_VEC_velocity, velocity)
			
			entity_set_int(id, EV_INT_gaitsequence, 6)	// Jump graphics
		}
	}
	if(g_HasMultiJump[id]) {
		new nzbut = get_user_button(id)
		new ozbut = get_user_oldbutton(id)
		if((nzbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(ozbut & IN_JUMP)) {
			if (jumpznum[id] < get_pcvar_num(jumps)) {
				dozjump[id] = true
				jumpznum[id]++
				return PLUGIN_CONTINUE
			}
		}
		if((nzbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) {
			jumpznum[id] = 0
			return PLUGIN_CONTINUE
		}
	}
	return PLUGIN_CONTINUE
}

public client_PostThink(id) {
	if(g_HasMultiJump[id]) {
		
		if(dozjump[id] == true) {
			new Float:vezlocityz[3]    
			entity_get_vector(id,EV_VEC_velocity,vezlocityz)
			vezlocityz[2] = random_float(265.0,285.0)
			entity_set_vector(id,EV_VEC_velocity,vezlocityz)
			dozjump[id] = false
			return PLUGIN_CONTINUE
		}    
	}
	return PLUGIN_CONTINUE
}
User avatar
J3FF
Membru, skill +1
Membru, skill +1
Posts: 472
Joined: 27 Oct 2007, 20:02
Detinator Steam: Nu
CS Status: ON and Ready 2 PLAY
Detinator server CS: Nu
Location: SiBiU
Has thanked: 25 times
Been thanked: 39 times

06 May 2012, 23:10

Mersi , Bhopul merge

Dar MultyJumpul nu :-s

Poti sa il rezolvi :-s ?
Unii ma mai stiu de e t n a d

Image
User avatar
sDs|Aragon*
Membru, skill +2
Membru, skill +2
Posts: 576
Joined: 29 Dec 2011, 21:38
Detinator Steam: Da
SteamID: Mihai_Parkour10
Reputatie: Fost scripter eXtreamCS
Has thanked: 4 times
Been thanked: 132 times

07 May 2012, 04:20

Incearca | Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define VERSION "4.0"
#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
#define MAX_PLAYERS 32
#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

new g_iMaxPlayers
new jumpznum[33] = 0
new bool:dozjump[33] = false  
new jumps
new const g_ModelSuperKnife[] = "models/superknife_new.mdl"

new bool:g_HasSuperKnife[MAX_PLAYERS+1]
new bool:g_HasSpeed[MAX_PLAYERS+1]
new bool:g_HasGravityT[MAX_PLAYERS+1]
new bool:g_HasGravityCt[MAX_PLAYERS+1]
new bool:g_HasBhop[MAX_PLAYERS+1]
new bool:g_HasMultiJump[MAX_PLAYERS+1]
enum _:ItemsT {
	Item_SuperKnife_T = 1,
	Item_Gravity_T,
	Item_Speed,
	Item_Bhop_T,
	Item_MultiJump_T
}

enum _:ItemsCT {
	Item_SuperKnife_Ct = 1,
	Item_Gravity_Ct,
	Item_M249,
	Item_G3SG1,
	Item_SG550,
	Item_AWP,
	Item_P90,
	Item_Bhop_Ct,
	Item_MultiJump_Ct
}

new g_pCvarTCost[ItemsT], g_pCvarCTCost[ItemsCT]
new g_pCvarQuantityGravityT, g_pCvarQuantityGravityCt
new g_pCvarQuantitySpeed

public plugin_init() 
{
	register_plugin("Shop", VERSION, "Fr33m@n")
	
	register_clcmd("say /shop", "ShowShop")
	register_clcmd("say_team /shop", "ShowShop")
	
	g_pCvarTCost[Item_SuperKnife_T] = register_cvar("shopbb_cost_superknife_t", "16000")
	g_pCvarTCost[Item_Gravity_T] = register_cvar("shopbb_cost_gravity_t", "12000")
	g_pCvarTCost[Item_Speed] = register_cvar("shopbb_cost_speed", "6000")
	g_pCvarTCost[Item_Bhop_T] = register_cvar("shopbb_cost_bhop_t", "3000")
	g_pCvarTCost[Item_MultiJump_T] = register_cvar("shopbb_cost_multijump_t", "10000")
	
	g_pCvarCTCost[Item_SuperKnife_Ct] = register_cvar("shopbb_cost_superknife_ct", "16000")
	g_pCvarCTCost[Item_Gravity_Ct] = register_cvar("shopbb_cost_gravity_ct", "12000")
	g_pCvarCTCost[Item_M249] = register_cvar("shopbb_cost_m249", "7000")
	g_pCvarCTCost[Item_G3SG1] = register_cvar("shopbb_cost_g3sg1", "8000")
	g_pCvarCTCost[Item_SG550] = register_cvar("shopbb_cost_sg550", "8000")
	g_pCvarCTCost[Item_AWP] = register_cvar("shopbb_cost_awp", "8000")
	g_pCvarCTCost[Item_P90] = register_cvar("shopbb_cost_p90", "7000")
	g_pCvarCTCost[Item_Bhop_Ct] = register_cvar("shopbb_cost_bhop_ct", "3000")
	g_pCvarCTCost[Item_MultiJump_Ct] = register_cvar("shopbb_cost_multijump_ct", "10000")
	
	g_pCvarQuantitySpeed = register_cvar("shopbb_quantity_speed", "310.0")
	g_pCvarQuantityGravityT = register_cvar("shopbb_quantity_gravity_t", "0.350")
	g_pCvarQuantityGravityCt = register_cvar("shopbb_quantity_gravity_ct", "0.350")
	jumps = register_cvar("shopbb_multijump","1") 
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
	RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage_Pre")
	RegisterHam(Ham_Item_Deploy, "weapon_knife", "ham_ItemDeploy_Post", 1)
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)
	
	g_iMaxPlayers = get_maxplayers()
	
	set_cvar_num("sv_maxspeed", 999)
}

public plugin_precache()
{
	precache_model(g_ModelSuperKnife)
}
public Player_ResetMaxSpeed( id )
{
	if ( is_user_alive ( id ) )
	{
		if ( get_user_maxspeed(id) != -1.0 )
		{
			if ( g_HasSpeed[id] )
			{
				set_user_maxspeed(id, 600.0)
			}
		}
	}
}

public client_connect( id )
{
	client_cmd(id, "cl_forwardspeed 999;cl_sidespeed 999;cl_backspeed 999")
	g_HasSuperKnife[id] = false
	g_HasSpeed[id] = false;
}

public ShowShop(id)
{ 
	if ( is_user_alive(id) )
	{
		new Text[32]
		
		if ( cs_get_user_team(id) == CS_TEAM_T )
		{ 
			new menu = menu_create ("w[rShopw]", "ShopT")
			formatex(Text, charsmax(Text), "wSuper Ghiare y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_SuperKnife_T]))
			menu_additem(menu, Text, "1")
			formatex(Text, charsmax(Text), "wGravitatie y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Gravity_T]))
			menu_additem(menu, Text, "2")
			formatex(Text, charsmax(Text), "wViteza y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Speed]))
			menu_additem(menu, Text, "3")
			formatex(Text, charsmax(Text), "wBunny Hop y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Bhop_T]))
			menu_additem(menu, Text, "4")
			formatex(Text, charsmax(Text), "wMulti Jump y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_MultiJump_T]))
			menu_additem(menu, Text, "5")
			menu_setprop(menu, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu)
		}
		
		else
		{
			new menu2 = menu_create ("w[rShopw]", "ShopCt")
			formatex(Text, charsmax(Text), "wSuper Ghiare y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_SuperKnife_Ct]))
			menu_additem(menu2, Text, "1")
			formatex(Text, charsmax(Text), "wGravitatie y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_Gravity_Ct]))
			menu_additem(menu2, Text, "2")
			formatex(Text, charsmax(Text), "wCiuruitoare y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_M249]))
			menu_additem(menu2, Text, "3")
			formatex(Text, charsmax(Text), "wLuneta 1 y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_G3SG1]))
			menu_additem(menu2, Text, "4")
			formatex(Text, charsmax(Text), "wLuneta 2 y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_SG550]))
			menu_additem(menu2, Text, "5")
			formatex(Text, charsmax(Text), "wAWP y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_AWP]))
			menu_additem(menu2, Text, "6")
			formatex(Text, charsmax(Text), "wThomson Auriu y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_P90]))
			menu_additem(menu2, Text, "7")
			formatex(Text, charsmax(Text), "wBunny Hop y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_Bhop_Ct]))
			menu_additem(menu2, Text, "8")
			formatex(Text, charsmax(Text), "wMulti Jump y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_MultiJump_Ct]))
			menu_additem(menu2, Text, "9")
			menu_setprop(menu2, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu2, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu2)
		}
	}
	else
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
	}
}

public ShopT(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_T:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Super Ghiare!")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Super Ghiare !")
			}
			
			case Item_Gravity_T:
			{
				if ( g_HasGravityT[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT) )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie !")
				g_HasGravityT[id] = true;
			}
			
			case Item_Speed:
			{
				if ( g_HasSpeed[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Viteza !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSpeed[id] = true;
				set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Viteza !")
			}
			case Item_Bhop_T:
			{
				if ( g_HasBhop[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhop[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_T:
			{
				if ( g_HasMultiJump[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJump[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public ShopCt(id, menu2, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item!")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu2, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarCTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_Ct:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Super Cutit!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Super Cutit!!")
			}
			
			case Item_Gravity_Ct:
			{     
				if ( g_HasGravityCt[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie!")
				g_HasGravityCt[id] = true;
			}
			
			case Item_M249:
			{
				if ( user_has_weapon(id, CSW_M249 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Ciuruitoare !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_m249")
				cs_set_user_bpammo( id, CSW_M249, 999 );
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Ciuruitoare !")
			}
			
			case Item_G3SG1:
			{
				if ( user_has_weapon(id, CSW_G3SG1 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_g3sg1")
				cs_set_user_bpammo( id, CSW_G3SG1, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_SG550:
			{
				if ( user_has_weapon(id, CSW_SG550 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_sg550")
				cs_set_user_bpammo( id, CSW_SG550, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_AWP:
			{
				if ( cs_get_user_bpammo(id, CSW_AWP ) == 2 )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un AWP !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_awp")
				cs_set_user_bpammo( id, CSW_AWP, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un AWP !")
			}
			
			case Item_P90:
			{
				if ( user_has_weapon(id, CSW_P90) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Thomson !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_p90")
				cs_set_user_bpammo( id, CSW_P90, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Thomson !")
			}
			case Item_Bhop_Ct:
			{
				if ( g_HasBhop[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhop[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_Ct:
			{
				if ( g_HasMultiJump[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJump[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu2)
	return PLUGIN_HANDLED
}

public Player_Spawn_Post(id)
{
	if ( is_user_alive ( id ) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Scrie in chat /shop pentru a cumpara iteme NOI !")
		
		if ( g_HasSuperKnife[id] && get_user_weapon(id) == CSW_KNIFE )
		{
			set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
		}
		g_HasSuperKnife[id] = false
		g_HasSpeed[id] = false;
		
	} 
}

public ham_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, damage_bits)
{
	if ( IsPlayer(attacker) && g_HasSuperKnife[attacker] && is_user_alive(attacker) && inflictor == attacker && get_user_weapon(attacker) == CSW_KNIFE )
	{
		SetHamParamFloat( 4, damage * 154.0 )
	}
}

public ham_ItemDeploy_Post(weapon_ent)
{
	static owner
	owner = get_pdata_cbase(weapon_ent, 41, 4)
	
	if ( is_user_alive(owner) && g_HasSuperKnife[owner] )
	{
		set_pev(owner, pev_viewmodel2, g_ModelSuperKnife)
	}
} 
public event_curweapon(id) 
{
	if(g_HasSpeed[id] && get_user_maxspeed(id) < get_pcvar_float(g_pCvarQuantitySpeed)) 
	{
		set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed));
	}
	if(g_HasGravityCt[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityCt)) 
	{
		set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt));
	}
	if(g_HasGravityT[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityT)) 
	{
		set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT));
	}
}

public client_putinserver(id) {
	jumpznum[id] = 0
	dozjump[id] = false
}

public client_disconnect(id) {
	jumpznum[id] = 0
	dozjump[id] = false
}

public client_PreThink(id) {
	if(is_user_alive(id) && g_HasMultiJump[id]) 
	{
		new nzbut = get_user_button(id)
		new ozbut = get_user_oldbutton(id)
		if((nzbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) 
		{
			jumpznum[id] = 0
		}
		if((nzbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(ozbut & IN_JUMP)) {
			if (jumpznum[id] < get_pcvar_num(jumps)) 
			{
				dozjump[id] = true
				jumpznum[id]++
			}
		}
	}
	
	if (is_user_alive(id) && g_HasBhop[id]) {
		
		entity_set_float(id, EV_FL_fuser2, 0.0)		// Won't slow down after a jump
		
		if (entity_get_int(id, EV_INT_button) & 2) {	
			new flags = entity_get_int(id, EV_INT_flags)
			
			if (flags & FL_WATERJUMP)
				return PLUGIN_CONTINUE
			if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
				return PLUGIN_CONTINUE
			if ( !(flags & FL_ONGROUND) )
				return PLUGIN_CONTINUE
			
			new Float:velocity[3]
			entity_get_vector(id, EV_VEC_velocity, velocity)
			velocity[2] += 250.0
			entity_set_vector(id, EV_VEC_velocity, velocity)
			
			entity_set_int(id, EV_INT_gaitsequence, 6)	// Jump graphics
		}
	}
	return PLUGIN_CONTINUE
	
}

public client_PostThink(id) {
	if(is_user_alive(id) && g_HasMultiJump[id]) 
	{
		
		if(dozjump[id] == true) 
		{
			new Float:vezlocityz[3]    
			entity_get_vector(id,EV_VEC_velocity,vezlocityz)
			vezlocityz[2] = random_float(265.0,285.0)
			entity_set_vector(id,EV_VEC_velocity,vezlocityz)
			dozjump[id] = false
			return PLUGIN_CONTINUE
		}    
		return PLUGIN_CONTINUE
	}  
	return PLUGIN_CONTINUE
}
User avatar
J3FF
Membru, skill +1
Membru, skill +1
Posts: 472
Joined: 27 Oct 2007, 20:02
Detinator Steam: Nu
CS Status: ON and Ready 2 PLAY
Detinator server CS: Nu
Location: SiBiU
Has thanked: 25 times
Been thanked: 39 times

07 May 2012, 14:01

Acum merge , dar doar la Terro , la CT nu merge cumparat nici bhop-ul nici multyjump-ul :-s

Poti sa rezolvi , multumesc mult !
Unii ma mai stiu de e t n a d

Image
User avatar
sDs|Aragon*
Membru, skill +2
Membru, skill +2
Posts: 576
Joined: 29 Dec 2011, 21:38
Detinator Steam: Da
SteamID: Mihai_Parkour10
Reputatie: Fost scripter eXtreamCS
Has thanked: 4 times
Been thanked: 132 times

07 May 2012, 15:20

| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>

#define VERSION "4.0"
#define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers )
#define MAX_PLAYERS 32
#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

new g_iMaxPlayers
new jumpznum[33] = 0
new bool:dozjump[33] = false  
new jumps
new const g_ModelSuperKnife[] = "models/superknife_new.mdl"

new bool:g_HasSuperKnife[MAX_PLAYERS+1]
new bool:g_HasSpeed[MAX_PLAYERS+1]
new bool:g_HasGravityT[MAX_PLAYERS+1]
new bool:g_HasGravityCt[MAX_PLAYERS+1]
new bool:g_HasBhopT[MAX_PLAYERS+1]
new bool:g_HasBhopCt[MAX_PLAYERS+1]
new bool:g_HasMultiJumpT[MAX_PLAYERS+1]
new bool:g_HasMultiJumpCt[MAX_PLAYERS+1]
enum _:ItemsT {
	Item_SuperKnife_T = 1,
	Item_Gravity_T,
	Item_Speed,
	Item_Bhop_T,
	Item_MultiJump_T
}

enum _:ItemsCT {
	Item_SuperKnife_Ct = 1,
	Item_Gravity_Ct,
	Item_M249,
	Item_G3SG1,
	Item_SG550,
	Item_AWP,
	Item_P90,
	Item_Bhop_Ct,
	Item_MultiJump_Ct
}

new g_pCvarTCost[ItemsT], g_pCvarCTCost[ItemsCT]
new g_pCvarQuantityGravityT, g_pCvarQuantityGravityCt
new g_pCvarQuantitySpeed

public plugin_init() 
{
	register_plugin("Shop", VERSION, "Fr33m@n")
	
	register_clcmd("say /shop", "ShowShop")
	register_clcmd("say_team /shop", "ShowShop")
	
	g_pCvarTCost[Item_SuperKnife_T] = register_cvar("shopbb_cost_superknife_t", "16000")
	g_pCvarTCost[Item_Gravity_T] = register_cvar("shopbb_cost_gravity_t", "12000")
	g_pCvarTCost[Item_Speed] = register_cvar("shopbb_cost_speed", "6000")
	g_pCvarTCost[Item_Bhop_T] = register_cvar("shopbb_cost_bhop_t", "3000")
	g_pCvarTCost[Item_MultiJump_T] = register_cvar("shopbb_cost_multijump_t", "10000")
	
	g_pCvarCTCost[Item_SuperKnife_Ct] = register_cvar("shopbb_cost_superknife_ct", "16000")
	g_pCvarCTCost[Item_Gravity_Ct] = register_cvar("shopbb_cost_gravity_ct", "12000")
	g_pCvarCTCost[Item_M249] = register_cvar("shopbb_cost_m249", "7000")
	g_pCvarCTCost[Item_G3SG1] = register_cvar("shopbb_cost_g3sg1", "8000")
	g_pCvarCTCost[Item_SG550] = register_cvar("shopbb_cost_sg550", "8000")
	g_pCvarCTCost[Item_AWP] = register_cvar("shopbb_cost_awp", "8000")
	g_pCvarCTCost[Item_P90] = register_cvar("shopbb_cost_p90", "7000")
	g_pCvarCTCost[Item_Bhop_Ct] = register_cvar("shopbb_cost_bhop_ct", "3000")
	g_pCvarCTCost[Item_MultiJump_Ct] = register_cvar("shopbb_cost_multijump_ct", "10000")
	
	g_pCvarQuantitySpeed = register_cvar("shopbb_quantity_speed", "310.0")
	g_pCvarQuantityGravityT = register_cvar("shopbb_quantity_gravity_t", "0.350")
	g_pCvarQuantityGravityCt = register_cvar("shopbb_quantity_gravity_ct", "0.350")
	jumps = register_cvar("shopbb_multijump","1") 
	register_event("CurWeapon", "event_curweapon", "be", "1=1")
	RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1)
	RegisterHam(Ham_TakeDamage, "player", "ham_TakeDamage_Pre")
	RegisterHam(Ham_Item_Deploy, "weapon_knife", "ham_ItemDeploy_Post", 1)
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1)
	
	g_iMaxPlayers = get_maxplayers()
	
	set_cvar_num("sv_maxspeed", 999)
}

public plugin_precache()
{
	precache_model(g_ModelSuperKnife)
}
public Player_ResetMaxSpeed( id )
{
	if ( is_user_alive ( id ) )
	{
		if ( get_user_maxspeed(id) != -1.0 )
		{
			if ( g_HasSpeed[id] )
			{
				set_user_maxspeed(id, 600.0)
			}
		}
	}
}

public client_connect( id )
{
	client_cmd(id, "cl_forwardspeed 999;cl_sidespeed 999;cl_backspeed 999")
	g_HasSuperKnife[id] = false
	g_HasSpeed[id] = false;
}

public ShowShop(id)
{ 
	if ( is_user_alive(id) )
	{
		new Text[32]
		
		if ( cs_get_user_team(id) == CS_TEAM_T )
		{ 
			new menu = menu_create ("w[rShopw]", "ShopT")
			formatex(Text, charsmax(Text), "wSuper Ghiare y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_SuperKnife_T]))
			menu_additem(menu, Text, "1")
			formatex(Text, charsmax(Text), "wGravitatie y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Gravity_T]))
			menu_additem(menu, Text, "2")
			formatex(Text, charsmax(Text), "wViteza y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Speed]))
			menu_additem(menu, Text, "3")
			formatex(Text, charsmax(Text), "wBunny Hop y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_Bhop_T]))
			menu_additem(menu, Text, "4")
			formatex(Text, charsmax(Text), "wMulti Jump y[r%d $y]", get_pcvar_num(g_pCvarTCost[Item_MultiJump_T]))
			menu_additem(menu, Text, "5")
			menu_setprop(menu, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu)
		}
		
		else
		{
			new menu2 = menu_create ("w[rShopw]", "ShopCt")
			formatex(Text, charsmax(Text), "wSuper Ghiare y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_SuperKnife_Ct]))
			menu_additem(menu2, Text, "1")
			formatex(Text, charsmax(Text), "wGravitatie y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_Gravity_Ct]))
			menu_additem(menu2, Text, "2")
			formatex(Text, charsmax(Text), "wCiuruitoare y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_M249]))
			menu_additem(menu2, Text, "3")
			formatex(Text, charsmax(Text), "wLuneta 1 y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_G3SG1]))
			menu_additem(menu2, Text, "4")
			formatex(Text, charsmax(Text), "wLuneta 2 y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_SG550]))
			menu_additem(menu2, Text, "5")
			formatex(Text, charsmax(Text), "wAWP y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_AWP]))
			menu_additem(menu2, Text, "6")
			formatex(Text, charsmax(Text), "wThomson Auriu y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_P90]))
			menu_additem(menu2, Text, "7")
			formatex(Text, charsmax(Text), "wBunny Hop y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_Bhop_Ct]))
			menu_additem(menu2, Text, "8")
			formatex(Text, charsmax(Text), "wMulti Jump y[r%d $y]", get_pcvar_num(g_pCvarCTCost[Item_MultiJump_Ct]))
			menu_additem(menu2, Text, "9")
			menu_setprop(menu2, MPROP_EXITNAME, "Iesire")
			menu_setprop(menu2, MPROP_EXIT, MEXIT_ALL)
			
			menu_display(id, menu2)
		}
	}
	else
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
	}
}

public ShopT(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_T:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Super Ghiare!")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Super Ghiare !")
			}
			
			case Item_Gravity_T:
			{
				if ( g_HasGravityT[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT) )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie !")
				g_HasGravityT[id] = true;
			}
			
			case Item_Speed:
			{
				if ( g_HasSpeed[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Viteza !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSpeed[id] = true;
				set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Viteza !")
			}
			case Item_Bhop_T:
			{
				if ( g_HasBhopT[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhopT[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_T:
			{
				if ( g_HasMultiJumpT[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJumpT[id] = true;
				dozjump[id] = true
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public ShopCt(id, menu2, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	if ( !is_user_alive(id) )
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Trebuie sa fi viu pentru a cumpara acest Item!")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	
	new info[3]
	new access, callback
	menu_item_getinfo(menu2, item, access, info, 2, _, _, callback)
	
	new key = str_to_num(info)
	new iNewMoney = cs_get_user_money(id) - get_pcvar_num(g_pCvarCTCost[key])
	
	if ( cs_get_user_money(id) < get_pcvar_num(g_pCvarTCost[key]))
	{
		client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu aveti suficienti bani pentru a cumpara acest Item !")
		menu_destroy(menu2)
		return PLUGIN_HANDLED
	}
	else
	{
		switch(key)
		{
			case Item_SuperKnife_Ct:
			{
				if ( g_HasSuperKnife[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Super Cutit!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasSuperKnife[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Super Cutit!!")
			}
			
			case Item_Gravity_Ct:
			{     
				if ( g_HasGravityCt[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Gravitatie!!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt))
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat Gravitatie!")
				g_HasGravityCt[id] = true;
			}
			
			case Item_M249:
			{
				if ( user_has_weapon(id, CSW_M249 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Ciuruitoare !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_m249")
				cs_set_user_bpammo( id, CSW_M249, 999 );
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Ciuruitoare !")
			}
			
			case Item_G3SG1:
			{
				if ( user_has_weapon(id, CSW_G3SG1 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_g3sg1")
				cs_set_user_bpammo( id, CSW_G3SG1, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_SG550:
			{
				if ( user_has_weapon(id, CSW_SG550 ) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja o Luneta!")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_sg550")
				cs_set_user_bpammo( id, CSW_SG550, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat o Luneta !")
			}
			
			case Item_AWP:
			{
				if ( cs_get_user_bpammo(id, CSW_AWP ) == 2 )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un AWP !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_awp")
				cs_set_user_bpammo( id, CSW_AWP, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un AWP !")
			}
			
			case Item_P90:
			{
				if ( user_has_weapon(id, CSW_P90) )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja un Thomson !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				give_item(id, "weapon_p90")
				cs_set_user_bpammo( id, CSW_P90, 999 )
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat un Thomson !")
			}
			case Item_Bhop_Ct:
			{
				if ( g_HasBhopCt[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja Bunny Hop !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				
				cs_set_user_money(id, iNewMoney, 1)
				g_HasBhopCt[id] = true;
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Nu ai suficienti bani pentru a cumpa Bunny Hop !")
			}
			case Item_MultiJump_Ct:
			{
				if ( g_HasMultiJumpCt[id] )
				{
					client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai deja MultiJump !")
					menu_destroy(menu2)
					return PLUGIN_HANDLED
				}
				cs_set_user_money(id, iNewMoney, 1)
				g_HasMultiJumpCt[id] = true;
				dozjump[id] = true
				client_print(id, print_chat, "[BB.GoDpLaY.Ro] Ai cumparat MultiJump !")
			}
		}
	}
	menu_destroy(menu2)
	return PLUGIN_HANDLED
}

public Player_Spawn_Post(id)
{
	client_print(id, print_chat, "[BB.GoDpLaY.Ro] Scrie in chat /shop pentru a cumpara iteme NOI !")
	
	if ( g_HasSuperKnife[id] && get_user_weapon(id) == CSW_KNIFE )
	{
		set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
	}
	g_HasSuperKnife[id] = false
	g_HasSpeed[id] = false;
}

public ham_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, damage_bits)
{
	if ( IsPlayer(attacker) && g_HasSuperKnife[attacker] && is_user_alive(attacker) && inflictor == attacker && get_user_weapon(attacker) == CSW_KNIFE )
	{
		SetHamParamFloat( 4, damage * 154.0 )
	}
}

public ham_ItemDeploy_Post(weapon_ent)
{
	static owner
	owner = get_pdata_cbase(weapon_ent, 41, 4)
	
	if ( is_user_alive(owner) && g_HasSuperKnife[owner] )
	{
		set_pev(owner, pev_viewmodel2, g_ModelSuperKnife)
	}
} 
public event_curweapon(id) 
{
	if(g_HasSpeed[id] && get_user_maxspeed(id) < get_pcvar_float(g_pCvarQuantitySpeed)) 
	{
		set_user_maxspeed(id, get_pcvar_float(g_pCvarQuantitySpeed));
	}
	if(g_HasGravityCt[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityCt)) 
	{
		set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityCt));
	}
	if(g_HasGravityT[id] && get_user_gravity(id) > get_pcvar_float(g_pCvarQuantityGravityT)) 
	{
		set_user_gravity(id, get_pcvar_float(g_pCvarQuantityGravityT));
	}
}

public client_putinserver(id) {
	jumpznum[id] = 0
	dozjump[id] = false
}

public client_disconnect(id) {
	jumpznum[id] = 0
	dozjump[id] = false
}

public client_PreThink(id) {
	if(is_user_alive(id) && g_HasMultiJumpT[id] || is_user_alive(id) && g_HasMultiJumpCt[id]) 
	{
		new nzbut = get_user_button(id)
		new ozbut = get_user_oldbutton(id)
		if((nzbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) 
		{
			jumpznum[id] = 0
		}
		if((nzbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(ozbut & IN_JUMP)) {
			if (jumpznum[id] < get_pcvar_num(jumps)) 
			{
				dozjump[id] = true
				jumpznum[id]++
			}
		}
	}
	
	if (is_user_alive(id) && g_HasBhopT[id] || is_user_alive(id) && g_HasBhopCt[id]) {
		
		entity_set_float(id, EV_FL_fuser2, 0.0)		// Won't slow down after a jump
		
		if (entity_get_int(id, EV_INT_button) & 2) {	
			new flags = entity_get_int(id, EV_INT_flags)
			
			if (flags & FL_WATERJUMP)
				return PLUGIN_CONTINUE
			if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
				return PLUGIN_CONTINUE
			if ( !(flags & FL_ONGROUND) )
				return PLUGIN_CONTINUE
			
			new Float:velocity[3]
			entity_get_vector(id, EV_VEC_velocity, velocity)
			velocity[2] += 250.0
			entity_set_vector(id, EV_VEC_velocity, velocity)
			
			entity_set_int(id, EV_INT_gaitsequence, 6)	// Jump graphics
		}
	}
	return PLUGIN_CONTINUE
	
}

public client_PostThink(id) {
	if(is_user_alive(id) && g_HasMultiJumpT[id] || is_user_alive(id) && g_HasMultiJumpCt[id]) 
	{
		
		if(dozjump[id] == true) 
		{
			new Float:vezlocityz[3]    
			entity_get_vector(id,EV_VEC_velocity,vezlocityz)
			vezlocityz[2] = random_float(265.0,285.0)
			entity_set_vector(id,EV_VEC_velocity,vezlocityz)
			dozjump[id] = false
			return PLUGIN_CONTINUE
		}    
		return PLUGIN_CONTINUE
	}  
	return PLUGIN_CONTINUE
}
User avatar
J3FF
Membru, skill +1
Membru, skill +1
Posts: 472
Joined: 27 Oct 2007, 20:02
Detinator Steam: Nu
CS Status: ON and Ready 2 PLAY
Detinator server CS: Nu
Location: SiBiU
Has thanked: 25 times
Been thanked: 39 times

07 May 2012, 16:06

La fel , in plus odata cumparate raman pana se schimba harta , e bun si asa

Ai putea pune in loc de Bhop-ul la CT si Multijump-ul sa pui

Hp 200 + Armura 250

Set compet grenazi :D

Ms mult , si scuze pentru deranj :D
Unii ma mai stiu de e t n a d

Image
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 38 guests