[ AMXX ] OutStanding Production's - Furien Shop -

Pluginuri pentru modul AmxModX.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
Fantasy1
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 4836
Joined: 05 Jul 2012, 01:26
Detinator Steam: Da
Reputatie: Membru Club eXtreamCS (1 Mar)
Utilizator neserios (TEPAR!)
Has thanked: 278 times
Been thanked: 217 times
Contact:

28 Jan 2014, 21:14

Descriere: Banuiesc ca toti stiti shop-ul si il doriti atat de mult , fiinda m-am lasat m-am gandit sa vi-l postez , sper sa apreciati gestul si munca pe care au depuso cei din OutStanding Team Scripting .
Am vazut ca multa lume ma roaga sa postez acest plugin sau sa-l cumpere si i-am refuzat , sper ca am putut sa va ajut.

Nume: Furien Shop ( OutStanding ) - original plugin's !
Versiune: 2.3beta
Descarcare: http://www.multiupload.nl/1XAZXTHC30 sau http://www.girlshare.ro/33215483.4
Autor: Sprit3x & Fantasy , meritele le merita in primu rand Sprit3x pentru rabdarea si ajutorul lui .

Credite: Hades & aragon pentru magic wand

Instalare:
1. Fisierul FurienShop.sma il puneti in addons/amxmodx/scripting
2. Fisierul FurienShop.amxx il puneti in addons/amxmodx/plugins
3. Fisierul MagicWand.sma il puneti in addons/amxmodx/scripting
4. Fisierul MagicWand.amxx il puneti in addons/amxmodx/scripting
5. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

FurienShop.amxx
MagicWand.amxx
Cvar-uri: Aveti facut un fm_shop.cfg , acolo setati voi cvar.

Comenzi publice (se tasteaza in joc prin apasarea tastei Y):
  • /shop - afiseaza regulile
    shop - afiseaza regulile
    Sau apasati tasta "M" si va deschide shop-ul ca la zombie
Imagini:
O sa postez in curand.

Furien Shop Source cod :
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <fm_credits>

// Constante
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
new const MODEL_PARACHUTE[] = "models/parachute.mdl"
new const modelsknife[] = "models/FurienOutStanding/v_knife_outstanding1.mdl"
new const modelsknife2[] = "models/FurienOutStanding/v_knife_outstanding2.mdl"
new const cfgfile[] = "fm_shop.cfg"

// Define Pet
#define PET_FLAG 			pev_flTimeStepSound
#define PET_KILLED 			389

#define SetUserNoFlash(%1)		g_bHasNoFlash |=   1<<(%1&31)
#define RemoveUserNoFlash(%1)		g_bHasNoFlash &= ~(1<<(%1&31))
#define HasUserNoFlash(%1)		g_bHasNoFlash &    1<<(%1&31)
#define IsPlayer(%1)	( 1 <= %1 <= maxplayers)

#define FLASHBANG_SEARCH_RADIUS 1500.0

// Variables
new Float:g_FallSpeed, has_sknife[33] = 0, has_sknife2[33] = 0, item_pet[33], item_have[33], Float:item_leaptime[33], bool:g_has_speed[33], maxplayers, g_msgSayText, g_hebuyable = 1, hpack[33] = 0, g_bHasNoFlash

// Bools
new bool:g_has_parachute[33], g_para_ent[33], bool:has_nf[33]

// Cvars
new cvar_parachute, cvar_skcost, cvar_sk2cost, cvar_pkcost, cvar_hecost, cvar_defcost, cvar_hpcost, cvar_apcost, cvar_nfcost, cvar_fallspeed, cvar_petcost

// Constants
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65

public plugin_init()
{
	// Register Plugin
	register_plugin("[FM] Shop", "1.0", "Sprit3x & Fantasy - Member OutStanding Team Scripting")
	
	// Register Menu
	register_clcmd("say /shop", "shophandle")
	register_clcmd("say shop", "shophandle")
	register_clcmd("chooseteam", "shophandle")
	register_clcmd("fshop", "furienshop")
	register_clcmd("say /pet", "buypet")
	register_clcmd("sayteam /pet", "buypet")
	
	// Menu Definer
	register_menu("menu_shop", KEYSMENU , "shophandler")
	
	// Ham Register
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	// Register Event
	register_event("CurWeapon", "Event_CurrentWeapon", "be", "1=1")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg","DeathMsg","a")
	
	// Register Forwarduri
	register_forward(FM_Think,"FM_Think_hook")
	register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
	register_forward(FM_FindEntityInSphere, "FindEntityInSphere")
	
	// Register Cvars
	cvar_parachute = register_cvar("furienshop_parachute", "1")
	cvar_fallspeed = register_cvar("furienshop_parachute_fallspeed", "75")
	cvar_skcost = register_cvar("furienshop_skcost", "10")
	cvar_pkcost = register_cvar("furienshop_pkcost", "10")
	cvar_hecost = register_cvar("furienshop_hecost", "12")
	cvar_defcost = register_cvar("furienshop_defcost", "13")
	cvar_hpcost = register_cvar("furienshop_hpcost", "14")
	cvar_apcost = register_cvar("furienshop_apcost", "11")
	cvar_nfcost = register_cvar("furienshop_nfcost", "10")
	cvar_petcost = register_cvar("furienshop_petcost", "5")
	cvar_sk2cost = register_cvar("furienshop_sk2cost", "15")
	
	// Register Messages
	g_msgSayText = get_user_msgid("SayText")
	maxplayers = get_maxplayers()
	

}

public plugin_cfg()
{
	// Get configs dir
	new cfgdir[32]
	get_configsdir(cfgdir, charsmax(cfgdir))
	
	// Execute config file
	server_cmd("exec %s/%s", cfgdir, cfgfile)
	
	set_task(1.0, "cache_settings")
}

public client_putinserver(id)
{
	g_has_parachute[id] = false
	RemoveUserNoFlash(id)
}
	
public cache_settings()
	g_FallSpeed = get_pcvar_float(cvar_fallspeed) * -1.0

public DeathMsg() 
{
	new id = read_data(2)
	
	if (item_have[id])
	{
		kill_pet(id)
		item_have[id] = 0
	}
	
	if (g_has_speed[id])
		g_has_speed[id] = false
	else if (has_sknife[id])
		has_sknife[id] = 0
	else if (has_sknife2[id])
		has_sknife2[id] = 0
}

public event_round_start()
{
	new i, entid = -1
	for (i=0; i<33; i++)
	{
		g_has_parachute = false
		
		if (hpack)
			hpack = 0
	}
	
	g_bHasNoFlash = 0
	
	while((entid = fm_find_ent_by_class(entid, "zp_bat")))
	{
		if(pev(entid,PET_FLAG) == PET_KILLED)
		{
			fm_remove_entity(entid)
		}		
	}	
}

public shophandle(id)
{
	if (!is_user_alive(id))
		return

	client_cmd(id, "fshop")
}

public plugin_precache()
{
	new i = 0
	for(i = 0; i < sizeof pet_sounds; i++)
		precache_sound(pet_sounds)
	
	precache_model(pet_model)
	precache_model(MODEL_PARACHUTE)
	precache_model(modelsknife)
	precache_model(modelsknife2)
}

public Event_CurrentWeapon(id)
{
	new weaponid = read_data(2)
	
	if (cs_get_user_team(id) == CS_TEAM_T && has_sknife[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife)
	}
	else if (cs_get_user_team(id) == CS_TEAM_T && has_sknife2[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife2)
	}
}

public furienshop(id) 
{
	static menu[ 2048 char ] , len 
	
	len = 0
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\yFurien Ultimate Shop Shop\r [v2.3beta]\w^nAvailable Credits: %d^n^n", fm_get_credits(id))
	
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Super Knife [x2] -\r %d credite^n", get_pcvar_num(cvar_skcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Pachet HP+AP -\r %d credite^n", get_pcvar_num(cvar_pkcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Harry Potter's Wand\y [NEW]\w -\r 50 credite^n")
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Super Knife [x3] -\r %d credite^n", get_pcvar_num(cvar_sk2cost))	
		
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w HE Grenade -\r %d credite^n", get_pcvar_num(cvar_hecost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w Defuse Kit -\r %d credite^n", get_pcvar_num(cvar_defcost))
		
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r4.\w 50 HP -\r %d credite^n", get_pcvar_num(cvar_hpcost))
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r5.\w 100 AP -\r %d credite^n", get_pcvar_num(cvar_apcost))
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\d6. No Flash - %d credite^n^n", get_pcvar_num(cvar_nfcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r6.\w No Flash -\r %d credite^n^n", get_pcvar_num(cvar_nfcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r7.\w Buy Pet -\r %d credite^n^n", get_pcvar_num(cvar_petcost))
	len += formatex( menu[ len ], charsmax( menu ) - len, "\r0. \wExit" )
	
	set_pdata_int(id , 205, 0, 5)
	
	show_menu(id, KEYSMENU, menu, -1, "menu_shop")
}

public shophandler(id, key)
{
	switch(key) 
	{
		case 0:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_skcost))
					{
						has_sknife[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife!")
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_skcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
				if (hpack[id] < 1)
				{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_pkcost))
					{
						if (get_user_health(id) >= 400 && get_user_armor(id) >= 250)
						{
							client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de Pachete de HP+AP!")
							return PLUGIN_CONTINUE
						}
						hpack[id]++
						set_user_health(id, get_user_health(id) + 250)
						set_user_armor(id, get_user_armor(id) + 250)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Pachet HP+AP!")					
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_pkcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Nu poti cumpara HP Upgrade decat odata pe runda!")
			}
		}
		case 1:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (fm_get_credits(id) >= 50)
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Harry Potter's Wand!")
					client_cmd(id, "vbcq23n1267ghfas")
					fm_set_credits(id, fm_get_credits(id) - 50)
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_sk2cost))
					{
						has_sknife2[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife2)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife[x3]!")
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_sk2cost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite.")	
			}
		}
		case 2:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				if (g_hebuyable)
				{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_hecost))
					{
						g_hebuyable = 0
						set_task(10.0, "hebuy", id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t HE Grenade!")
						give_item(id, "weapon_hegrenade")
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_hecost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Trebuie sa astepti 10 secunde pentru a cumpara o grenada")
			}else{
				if (fm_get_credits(id) >= get_pcvar_num(cvar_defcost))
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Defuse Kit!")
					give_item(id, "item_thighpack")
					fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_defcost))
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}
		}
		case 3:
		{
			if (get_user_health(id) >= 250)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita de viata!")
				return PLUGIN_CONTINUE
			}
			else if (fm_get_credits(id) >= get_pcvar_num(cvar_hpcost))
			{
				set_user_health(id, get_user_health(id) + 50)
				fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_hpcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 50 HP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 4:
		{
			if (get_user_armor(id) >= 500)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de armura!")
				return PLUGIN_CONTINUE
			}	
			else if (fm_get_credits(id) >= get_pcvar_num(cvar_apcost))
			{
				set_user_armor(id, get_user_armor(id) + 100)
				fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_apcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 100 AP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 5:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				return PLUGIN_HANDLED
			}else{
				if( ~HasUserNoFlash(id) )
				{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_nfcost))
					{
						has_nf[id] = true
						SetUserNoFlash(id)
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_nfcost))
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t No Flash!")
					}
				}else
					client_printcolor(id, "!g[SHOP]!n Ai deja No Flash!")
			}
		}
		case 6:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (!item_have[id])
				{
					if (fm_get_credits(id) >= get_pcvar_num(cvar_petcost))
					{
						create_pet(id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t PET!")
						fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_petcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Detii deja un^3 PET!")
			}
		}
		
		default : return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public hebuy(id)
{
	g_hebuyable = 1
	remove_task(id)
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {

	if (victim == attacker || !is_user_connected(attacker))
		return HAM_IGNORED
	
	if (has_sknife[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 2.0
		SetHamParamFloat(4, damage)
	}
	else if(has_sknife2[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 3.0
		SetHamParamFloat(4, damage)
	}
	return HAM_IGNORED
}

public FindEntityInSphere(id, Float:fVecOrigin[3], Float:flRadius)
{
	if( flRadius == FLASHBANG_SEARCH_RADIUS )
	{
		while( IsPlayer( (id=engfunc(EngFunc_FindEntityInSphere, id, fVecOrigin, flRadius)) ) )
		{
			if( ~HasUserNoFlash(id) && is_user_alive(id) )
			{
				forward_return(FMV_CELL, id)
				return FMRES_SUPERCEDE
			}
		}
		forward_return(FMV_CELL, 0)
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}

public player_spawn(player)
{
	if (!is_user_connected(player))
		return HAM_IGNORED

	if (cs_get_user_team(player) != CS_TEAM_CT)
	{
		kill_pet(player)
		item_have[player] = 0
		return HAM_IGNORED
	}
	else if(item_have[player])
	{
		fm_set_user_gravity(player, player_gravity)
		set_user_health(player, get_user_health(player) + 250)
		set_user_armor(player, get_user_armor(player) + 350)
		g_has_speed[player] = true
	}
		
	parachute_reset(player)
	return HAM_IGNORED
}

public client_PreThink(id)
{
	//Parachute model animation information
	//0 - deploy - 84 frames
	//1 - idle - 39 frames
	//2 - detach - 29 frames
	
	if (!g_has_parachute[id])
		return;
	
	static flags, Float:frame, button, oldbutton
	button = get_user_button(id)
	oldbutton = get_user_oldbutton(id)
	flags = get_entity_flags(id)
	
	if (g_para_ent[id] > 0 && (flags & FL_ONGROUND))
	{
		if (get_pcvar_num(cvar_parachute))
		{
			if (entity_get_int(g_para_ent[id],EV_INT_sequence) != 2)
			{
				entity_set_int(g_para_ent[id], EV_INT_sequence, 2)
				entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
				entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
				return;
			}
			
			frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 2.0
			entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
			entity_set_float(g_para_ent[id],EV_FL_frame,frame)

			if (frame > 254.0)
				parachute_reset(id)
		}
		else
			parachute_reset(id)
		
		return;
	}
	
	if (button & IN_USE)
	{
		new Float:velocity[3];
		entity_get_vector(id, EV_VEC_velocity, velocity);
		
		if (velocity[2] < 0.0)
		{
			if(g_para_ent[id] <= 0)
			{
				g_para_ent[id] = create_entity("info_target")
				
				if(g_para_ent[id] > 0)
				{
					entity_set_string(g_para_ent[id],EV_SZ_classname,"parachute")
					entity_set_edict(g_para_ent[id], EV_ENT_aiment, id)
					entity_set_edict(g_para_ent[id], EV_ENT_owner, id)
					entity_set_int(g_para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
					entity_set_model(g_para_ent[id], MODEL_PARACHUTE)
					entity_set_int(g_para_ent[id], EV_INT_sequence, 0)
					entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
					entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
					entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				}
			}
			else if (g_para_ent[id] > 0)
			{
				entity_set_int(id, EV_INT_sequence, 3)
				entity_set_int(id, EV_INT_gaitsequence, 1)
				entity_set_float(id, EV_FL_frame, 1.0)
				entity_set_float(id, EV_FL_framerate, 1.0)

				velocity[2] = (velocity[2] + 40.0 < g_FallSpeed) ? velocity[2] + 40.0 : g_FallSpeed
				entity_set_vector(id, EV_VEC_velocity, velocity)

				if (entity_get_int(g_para_ent[id],EV_INT_sequence) == 0)
				{

					frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 1.0
					entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
					entity_set_float(g_para_ent[id],EV_FL_frame,frame)

					if (frame > 100.0)
					{
						entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_framerate, 0.4)
						entity_set_int(g_para_ent[id], EV_INT_sequence, 1)
						entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
						entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
					}
				}
			}
		}
		else if (g_para_ent[id] > 0)
			parachute_reset(id)
	}
	else if ((oldbutton & IN_USE) && g_para_ent[id] > 0)
		parachute_reset(id)
}

parachute_reset(id, remove = 0)
{
	if(g_para_ent[id] > 0 && is_valid_ent(g_para_ent[id]))
	{
		remove_entity(g_para_ent[id]);
		g_para_ent[id] = 0
	}
	
	if (!remove)
		g_has_parachute[id] = true
	else
		g_has_parachute[id] = false
}

public buypet(id)
{
	if (!is_user_alive(id))
	{
		client_printcolor(id, "^4[Furien Pet]^1 Nu poti cumpara pet cand esti mort.")
		return PLUGIN_CONTINUE
	}

	if (cs_get_user_team(id) != CS_TEAM_CT)
	{
		client_printcolor(id, "^4[Furien Pet]^1 Numai^3 Anti-furienii^1 pot cumpara pet.")
		return PLUGIN_CONTINUE
	}
	
	if (!item_have[id])
	{	
		if (fm_get_credits(id) >= get_pcvar_num(cvar_petcost))
		{
			fm_set_credits(id, fm_get_credits(id) - get_pcvar_num(cvar_petcost))
			client_printcolor(id, "^4[Furien Pet]^1 Ai cumparat^3 PET.")
			create_pet(id)
		}else
			client_printcolor(id, "^4[Furien Pet]^1 Nu ai destule^3 credite.")
	}else
			client_printcolor(id, "^4[Furien Pet]^1 Detii deja un pet!")
		
	return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
	remove_task(id)
	parachute_reset(id, 1)
}

public kill_pet(id)
{
	if(pev_valid(item_pet[id]))
	{
		set_pev(item_pet[id],pev_sequence,pet_die)
		set_pev(item_pet[id],pev_gaitsequence,pet_die)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id],PET_FLAG,PET_KILLED)
		
		fm_drop_to_floor(item_pet[id])
		
		item_have[id] = 0
		g_has_speed[id] = false
	}	
	item_pet[id] = 0
}

public create_pet(id)
{
		item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
		set_pev(item_pet[id],pev_classname,"zp_bat")
		
		engfunc(EngFunc_SetModel,item_pet[id],pet_model)
		
		new Float:origin[3]
		pev(id,pev_origin,origin)			
		
		set_pev(item_pet[id],pev_origin,origin)
		set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
		set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
		set_pev(item_pet[id],pev_owner,33)
		set_pev(item_pet[id],pev_nextthink,1.0)
		set_pev(item_pet[id],pev_sequence,0)
		set_pev(item_pet[id],pev_gaitsequence,0)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
		set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
		
		fm_set_user_gravity(id,player_gravity)
		
		set_user_health(id, get_user_health(id) + 250)
		set_user_armor(id, get_user_armor(id) + 350)
		
		engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)		
		
		item_have[id] = 1
		g_has_speed[id] = true
}

public FM_Think_hook(ent)
{
	for(new i = 0; i <= maxplayers; i++)
	{
		if(ent == item_pet)
		{
			static Float:origin[3]
			static Float:origin2[3]
			static Float:velocity[3]
			pev(ent,pev_origin,origin2)
			get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
			
			if(get_distance_f(origin,origin2) > 300.0)
			{
				set_pev(ent,pev_origin,origin)
			}
			
			else if(get_distance_f(origin,origin2) > 80.0)
			{
				get_speed_vector(origin2,origin,250.0,velocity)
				set_pev(ent,pev_velocity,velocity)
				if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
				{
					set_pev(ent,pev_sequence,pet_run)
					set_pev(ent,pev_gaitsequence,pet_run)
					set_pev(ent,pev_framerate,pet_run_speed)
				}
			}
			
			else if(get_distance_f(origin,origin2) < 75.0)
			{
				if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
				{
					set_pev(ent,pev_sequence,pet_idle)
					set_pev(ent,pev_gaitsequence,pet_idle)
					set_pev(ent,pev_framerate,pet_idle_speed)
				}
				set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
			}
			pev(i,pev_origin,origin)
			origin[2] = origin2[2]
			entity_set_aim(ent,origin)			
			set_pev(ent,pev_nextthink,1.0)
			break
		}
	}
}

public FM_PlayerPreThink_hook(id)
{
	if (!is_user_alive(id))
		return
	
	if(allowed_leap(id))
	{
		static Float:velocity[3]
		velocity_by_aim(id, 500, velocity)
		
		velocity[2] = 300.0
		
		set_pev(id, pev_velocity, velocity)
		
		item_leaptime[id] = get_gametime()
	}
}

public allowed_leap(id)
{	
	if(!item_have[id])
		return false
	
	if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
		return false
	
	static buttons
	buttons = pev(id, pev_button)
	
	if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
		return false
	
	if (get_gametime() - item_leaptime[id] < 3)
		return false
	
	return true
}

public is_a_player(ent)
{
	if(ent > 0 && ent < 33)
		return true
	
	return false
}

public remove_pet(ent) 
{
	if(pev_valid(ent))
		fm_remove_entity(ent)
}

// Get entity's speed (from fakemeta_util)
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
	if(!pev_valid(ent))
		return 0;
	
	new Float:angle[3]
	pev(ent,pev_angles,angle)
	
	pev(ent,pev_origin,origin)
	
	origin[0] += floatcos(angle[1],degrees) * offset[0]
	origin[1] += floatsin(angle[1],degrees) * offset[0]
	
	origin[1] += floatcos(angle[1],degrees) * offset[1]
	origin[0] += floatsin(angle[1],degrees) * offset[1]
	
	return 1;
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
	new_velocity[0] = origin2[0] - origin1[0]
	new_velocity[1] = origin2[1] - origin1[1]
	new_velocity[2] = origin2[2] - origin1[2]
	new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
	new_velocity[0] *= num
	new_velocity[1] *= num
	new_velocity[2] *= num
	
	return 1;
}

stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
	if(!pev_valid(ent))
		return 0;
	
	static Float:origin[3]
	origin[0] = origin2[0]
	origin[1] = origin2[1]
	origin[2] = origin2[2]
	
	static Float:ent_origin[3], Float:angles[3]
	
	if(bone)
		engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
	else
		pev(ent,pev_origin,ent_origin)
	
	origin[0] -= ent_origin[0]
	origin[1] -= ent_origin[1]
	origin[2] -= ent_origin[2]
	
	static Float:v_length
	v_length = vector_length(origin)
	
	static Float:aim_vector[3]
	aim_vector[0] = origin[0] / v_length
	aim_vector[1] = origin[1] / v_length
	aim_vector[2] = origin[2] / v_length
	
	static Float:new_angles[3]
	vector_to_angle(aim_vector,new_angles)
	
	new_angles[0] *= -1
	
	if(new_angles[1]>180.0) new_angles[1] -= 360
	if(new_angles[1]<-180.0) new_angles[1] += 360
	if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
	
	set_pev(ent,pev_angles,new_angles)
	set_pev(ent,pev_fixangle,1)
	
	return 1;
}

// Stockuri
stock client_printcolor(const id, const message[], any:...)
{
	new g_message[191];

	vformat(g_message, charsmax(g_message), message, 3)

	replace_all(g_message, charsmax(g_message), "!g", "^4")
	replace_all(g_message, charsmax(g_message), "!n", "^1")
	replace_all(g_message, charsmax(g_message), "!t", "^3")

	if(is_user_connected(id))
	{
		message_begin(MSG_ONE_UNRELIABLE, g_msgSayText,_, id)
		write_byte(id)
		write_string(g_message)
		message_end()
	}
}


Magic Wand source cod:

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <  amxmodx  >
#include <  cstrike  >
#include <  hamsandwich  >
#include <  fakemeta_util  >
#include < fm_credits >

#include "  engine  "

#define PLUGIN "New Plug-In"
#define VERSION "0.0.1"
#define AUTHOR "Hades , Aragon & Sprit3x"

new g_has_wand[33]

new HarrySound [ ] = "FurienOutStanding/magic_wand_start.wav";

new Harry_Ammo [ 33 ];
new Float: HarryLastShotTime [ 33 ];

new HarryFireSound [ ] = "FurienOutStanding/magic_wand_shoot1.wav";
new HarryHitSound [ ] = "FurienOutStanding/magic_wand_hit.wav";
new HarryHitSound2 [ ] = "FurienOutStanding/magic_wand_shoot2.wav";

new HarryModel [ ] = "models/FurienOutStanding/v_magic_wand.mdl";

new HarryBeam, HarryExp, HarryExp2, DeathSprite;
new HarryDamageCvar, HarryDamageCvar2;

public plugin_init ( ) {

	
	register_event ( "DeathMsg", "eDeath", "a" );
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	
	register_forward ( FM_CmdStart, "Harry_CmdStart" );
	RegisterHam ( Ham_Spawn, "player", "Ham_SpawnCallback", 1 );
	
	HarryDamageCvar = register_cvar ( "harry_damage", "80" );
	HarryDamageCvar2 = register_cvar ( "harry_damage2", "200" );

	register_clcmd ( "vbcq23n1267ghfas", "wand")
	
	
	
}

public plugin_precache ( ) {

	precache_sound ( HarrySound );
	precache_sound ( HarryFireSound );
	precache_sound ( HarryHitSound );
	precache_sound ( HarryHitSound2 );
	
	precache_model ( HarryModel );

	HarryBeam = precache_model ( "sprites/FurienOutStanding/magic_wand_beam.spr" );
	HarryExp = precache_model ( "sprites/FurienOutStanding/magic_wand_exp2.spr" );
	HarryExp2 = precache_model ( "sprites/FurienOutStanding/magic_wand_exp3.spr" );
	register_plugin ( "MagicWand", VERSION, "Sprit3x" );
}

public wand(id)
{
		g_has_wand[id] = true
		client_cmd(id, "weapon_knife")
		Harry_Ammo[id] = 50
}

public eDeath()
{
	static iVictim
	iVictim = read_data(2)
	
	if (g_has_wand[iVictim])
		g_has_wand[iVictim] = false
}

public client_putinserver ( id ) {

		g_has_wand [ id ] = false;
		Harry_Ammo [ id ] = 0;

}

public client_disconnect ( id ) {
	
	g_has_wand [ id ] = false;
	Harry_Ammo [ id ] = 0;
}

public CurrentWeapon ( id ) {
	
	if ( get_user_weapon ( id ) == CSW_KNIFE && g_has_wand [ id ] ) {
		
		set_pev ( id, pev_viewmodel2, HarryModel );
		
	}
	
}

public Ham_SpawnCallback ( id ) {
	
	if ( !is_user_alive ( id ) ) return;
	
	g_has_wand [ id ] = false;
	remove_task ( id );
	
	return;
}

public Harry_CmdStart ( id, uc_handle, seed ) {
	
	if ( is_user_alive ( id ) && g_has_wand [ id ] ) {
		
		static CurButton;
		CurButton = get_uc ( uc_handle, UC_Buttons );
		new Float:flNextAttack = get_pdata_float ( id, 83, 5 );
		if ( CurButton & IN_ATTACK ) {
			
			if ( get_user_weapon ( id ) == CSW_KNIFE && g_has_wand [ id ] ) {
				
				if ( Harry_Ammo [ id ] > 0  && flNextAttack <= 0.0 ) {
					
					if ( get_gametime ( ) - HarryLastShotTime [ id ] > 0.35 ) {
						
						set_weapon_anim ( id, random_num ( 3,5 ) );
						emit_sound ( id, CHAN_WEAPON, HarryFireSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
						
						Harry_Fire ( id );
						if ( Harry_Ammo [ id ] > 0 ) {
							
							set_hudmessage ( 0, 127, 255, 0.01, 0.90, 0, 6.0, 1.0 );
							show_hudmessage ( id, "Remaining Ammo: %d", Harry_Ammo [ id ] );
						}
						
						else if ( Harry_Ammo [ id ] <= 0 ) {
							
							set_hudmessage ( 255, 0, 0, 0.01, 0.90, 0, 6.0, 1.0 );
							show_hudmessage ( id, "No Ammo" );
							
						}
						
						static Float:Punch_Angles[3];
						
						Punch_Angles[0] = -5.0;
						Punch_Angles[1] = 0.0;
						Punch_Angles[2] = 0.0;
						
						set_pev(id, pev_punchangle, Punch_Angles);
						Harry_Ammo [ id ] -= 1;
						HarryLastShotTime [ id ] = get_gametime();
						
					}	
				}
				
				CurButton &= ~IN_ATTACK;
				set_uc ( uc_handle, UC_Buttons, CurButton );
			}		
		}
		
		else if ( CurButton & IN_ATTACK2 ) {
			
			if ( get_user_weapon ( id ) == CSW_KNIFE && g_has_wand [ id ] ) {
				
				if ( Harry_Ammo [ id ] >= 5  && flNextAttack <= 0.0 ) {
					
					if ( get_gametime ( ) - HarryLastShotTime [ id ] > 0.75 ) {
						
						set_weapon_anim ( id, random_num ( 5,10 ) );
						emit_sound ( id, CHAN_WEAPON, HarryFireSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
						
						Harry_Fire2 ( id );
						set_hudmessage ( 0, 127, 255, 0.01, 0.90, 0, 6.0, 1.0 );
						show_hudmessage ( id, "Remaining Ammo: %d", Harry_Ammo [ id ] );
						
						static Float:Punch_Angles[3];
						
						Punch_Angles[0] = -5.0;
						Punch_Angles[1] = 0.0;
						Punch_Angles[2] = 0.0;
						
						set_pev(id, pev_punchangle, Punch_Angles);
						Harry_Ammo [ id ] -= 5;
						HarryLastShotTime [ id ] = get_gametime();
						
					}	
				}
				
				CurButton &= ~IN_ATTACK2;
				set_uc ( uc_handle, UC_Buttons, CurButton );
			}
			
		}
		
	}
	
	else if ( is_user_alive ( id ) && !g_has_wand [ id ] ) {
		
		return PLUGIN_CONTINUE;
		
	}
	
	return PLUGIN_CONTINUE;
	
}

public Harry_Fire ( id ) {
	
	static Victim, Body, EndOrigin[3], BeamOrigin[3];
	get_user_origin(id, BeamOrigin, 3) ;
	get_user_origin(id, EndOrigin, 3);
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(TE_BEAMENTPOINT);
	write_short(id | 0x1000);
	write_coord(BeamOrigin[0]);	// Start X
	write_coord(BeamOrigin[1]);	// Start Y
	write_coord(BeamOrigin[2]);	// Start Z
	write_short(HarryBeam);	// Sprite
	write_byte(1);      		// Start frame				
	write_byte(1);     		// Frame rate					
	write_byte(1);			// Life
	write_byte(40);   		// Line width				
	write_byte(0);    		// Noise
	write_byte(66); 		// Red
	write_byte(161);		// Green
	write_byte(255);		// Blue
	write_byte(150);     		// Brightness					
	write_byte(25);      		// Scroll speed					
	message_end();
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(3);
	write_coord(EndOrigin[0]);
	write_coord(EndOrigin[1]);
	write_coord(EndOrigin[2]);
	write_short(HarryExp);
	write_byte(10);
	write_byte(15);
	write_byte(4);
	message_end();
	
	get_user_aiming(id, Victim, Body, 999999);
	if(is_user_connected(Victim)) {
		new Float:Damage = float(get_damage_body(Body, get_pcvar_float ( HarryDamageCvar ) ));
		
		new Float:VictimOrigin[3];
		VictimOrigin[0] = float(EndOrigin[0]);
		VictimOrigin[1] = float(EndOrigin[1]);
		VictimOrigin[2] = float(EndOrigin[2]);
		
		if(get_user_health(Victim) - get_pcvar_float ( HarryDamageCvar ) >= 1 && is_user_alive(Victim) && !fm_get_user_godmode(Victim) && get_user_team(Victim) != get_user_team(id)) {
			
			new originnn[3];
			get_user_origin ( Victim, originnn, 0 );
			message_begin(MSG_PAS, SVC_TEMPENTITY, originnn);
			write_byte(TE_BEAMCYLINDER);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+10);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+60);
			write_short(HarryExp);
			write_byte(0);
			write_byte(0);
			write_byte(3);
			write_byte(60);
			write_byte(0);
			write_byte(0); //255
			write_byte(0); //255
			write_byte(255); //255 //BLUE
			write_byte(255); //255 
			write_byte(0);
			message_end();
			
			Create_TE_SPRITETRAIL3( originnn, originnn, DeathSprite, 50, 10, 2, 50, 10 );
			
			
			make_knockback(Victim, VictimOrigin, 3*get_pcvar_float ( HarryDamageCvar ));
			
			ExecuteHam(Ham_TakeDamage, Victim, id, id, Damage, DMG_NERVEGAS);
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Damage"), _, Victim);
			write_byte(0);
			write_byte(0);
			write_long(DMG_SHOCK);
			write_coord(0) ;
			write_coord(0);
			write_coord(0);
			message_end();
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, Victim);
			write_short(1<<13);
			write_short(1<<14);
			write_short(0x0000);
			write_byte(255);
			write_byte(122);
			write_byte(122);
			write_byte(100) ;
			message_end();
			
			message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, Victim);
			write_short(0xFFFF);
			write_short(1<<13);
			write_short(0xFFFF) ;
			message_end();
		}
		else if(get_user_health(Victim) - get_pcvar_float ( HarryDamageCvar ) < 1 && is_user_alive(Victim) && !fm_get_user_godmode(Victim) && get_user_team(Victim) != get_user_team(id)) {
			
			new originnn[3];
			get_user_origin ( Victim, originnn, 0 );
			message_begin(MSG_PAS, SVC_TEMPENTITY, originnn);
			write_byte(TE_BEAMCYLINDER);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+10);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+60);
			write_short(HarryExp);
			write_byte(0);
			write_byte(0);
			write_byte(3);
			write_byte(60);
			write_byte(0);
			write_byte(0); //255
			write_byte(0); //255
			write_byte(255); //255 //BLUE
			write_byte(255); //255 
			write_byte(0);
			message_end();
			
			Create_TE_SPRITETRAIL3( originnn, originnn, DeathSprite, 50, 10, 2, 50, 10 );
			
			
			make_knockback(Victim, VictimOrigin, 3*get_pcvar_float ( HarryDamageCvar ));
			
			death_message(id, Victim, 1, "Magic Wand");
			
		}
	}
	else {
		static ClassName[32];
		pev(Victim, pev_classname, ClassName, charsmax(ClassName));
		if(equal(ClassName, "func_breakable")) {		
			if(entity_get_float(Victim, EV_FL_health) <= 80) {
				force_use(id, Victim);
			}
		}
	}
	
	emit_sound(id, CHAN_WEAPON, HarryHitSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

public Harry_Fire2 ( id ) {
	
	static Victim, Body, EndOrigin[3], BeamOrigin[3];
	get_user_origin(id, BeamOrigin, 3) ;
	get_user_origin(id, EndOrigin, 3);
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
	write_byte(TE_BEAMENTPOINT);
	write_short(id | 0x1000);
	write_coord(BeamOrigin[0]);	// Start X
	write_coord(BeamOrigin[1]);	// Start Y
	write_coord(BeamOrigin[2]);	// Start Z
	write_short(HarryBeam);	// Sprite
	write_byte(1);      		// Start frame				
	write_byte(1);     		// Frame rate					
	write_byte(1);			// Life
	write_byte(40);   		// Line width				
	write_byte(0);    		// Noise
	write_byte(255); 			// Red
	write_byte(0);			// Green
	write_byte(0);			// Blue
	write_byte(150);     		// Brightness					
	write_byte(25);      		// Scroll speed					
	message_end();
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
	write_byte(3);
	write_coord(EndOrigin[0]);
	write_coord(EndOrigin[1]);
	write_coord(EndOrigin[2]);
	write_short(HarryExp2);
	write_byte(10);
	write_byte(15);
	write_byte(4);
	message_end();
	
	get_user_aiming(id, Victim, Body, 999999);
	if(is_user_connected(Victim)) {
		new Float:Damage = float(get_damage_body(Body, get_pcvar_float ( HarryDamageCvar ) ));
		
		new Float:VictimOrigin[3];
		VictimOrigin[0] = float(EndOrigin[0]);
		VictimOrigin[1] = float(EndOrigin[1]);
		VictimOrigin[2] = float(EndOrigin[2]);
		
		if(get_user_health(Victim) - get_pcvar_float ( HarryDamageCvar2 ) >= 1 && is_user_alive(Victim) && !fm_get_user_godmode(Victim) && get_user_team(Victim) != get_user_team(id)) {
			
			new originnn[3];
			get_user_origin ( Victim, originnn, 0 );
			message_begin(MSG_PAS, SVC_TEMPENTITY, originnn);
			write_byte(TE_BEAMCYLINDER);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+10);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+60);
			write_short(HarryExp2);
			write_byte(0);
			write_byte(0);
			write_byte(3);
			write_byte(60);
			write_byte(0);
			write_byte(255); //255
			write_byte(0); //255
			write_byte(0); //255 //BLUE
			write_byte(255); //255 
			write_byte(0);
			message_end();
			
			Create_TE_SPRITETRAIL3( originnn, originnn, DeathSprite, 50, 10, 2, 50, 10 );
			
			make_knockback(Victim, VictimOrigin, 3*get_pcvar_float ( HarryDamageCvar2 ));
			
			ExecuteHam(Ham_TakeDamage, Victim, id, id, Damage, DMG_NERVEGAS);
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("Damage"), _, Victim);
			write_byte(0);
			write_byte(0);
			write_long(DMG_NERVEGAS);
			write_coord(0) ;
			write_coord(0);
			write_coord(0);
			message_end();
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, Victim);
			write_short(1<<13);
			write_short(1<<14);
			write_short(0x0000);
			write_byte(0);
			write_byte(255);
			write_byte(0);
			write_byte(100) ;
			message_end();
			
			message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, Victim);
			write_short(0xFFFF);
			write_short(1<<13);
			write_short(0xFFFF) ;
			message_end();
		}
		else if(get_user_health(Victim) - get_pcvar_float ( HarryDamageCvar2 ) < 1 && is_user_alive(Victim) && !fm_get_user_godmode(Victim) && get_user_team(Victim) != get_user_team(id)) {
			
			new originnn[3];
			get_user_origin ( Victim, originnn, 0 );
			message_begin(MSG_PAS, SVC_TEMPENTITY, originnn);
			write_byte(TE_BEAMCYLINDER);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+10);
			write_coord(originnn[0]);
			write_coord(originnn[1]);
			write_coord(originnn[2]+60);
			write_short(HarryExp2);
			write_byte(0);
			write_byte(0);
			write_byte(3);
			write_byte(60);
			write_byte(0);
			write_byte(255); //255
			write_byte(0); //255
			write_byte(0); //255 //BLUE
			write_byte(255); //255 
			write_byte(0);
			message_end();
			
			Create_TE_SPRITETRAIL3( originnn, originnn, DeathSprite, 50, 10, 2, 50, 10 );
			
			make_knockback(Victim, VictimOrigin, 3*get_pcvar_float ( HarryDamageCvar2 ));
			
			death_message(id, Victim, 1, "Double Magic Wand");
		}
	}
	else {
		static ClassName[32];
		pev(Victim, pev_classname, ClassName, charsmax(ClassName));
		if(equal(ClassName, "func_breakable")) {		
			if(entity_get_float(Victim, EV_FL_health) <= 80) {
				force_use(id, Victim);
			}
		}
	}
	
	emit_sound(id, CHAN_WEAPON, HarryHitSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}

// Make knockback
public make_knockback(Victim, Float:origin[3], Float:maxspeed) {
	// Get and set velocity
	new Float:fVelocity[3];
	kickback(Victim, origin, maxspeed, fVelocity);
	entity_set_vector(Victim, EV_VEC_velocity, fVelocity);
	
	return(1);
}

public ShakeScreen( id, const Float:seconds )
{
	message_begin( MSG_ONE, get_user_msgid( "ScreenShake" ), { 0, 0, 0 }, id );
	write_short( floatround( 4096.0 * seconds, floatround_round ) );
	write_short( floatround( 4096.0 * seconds, floatround_round ) );
	write_short( 1<<13 );
	message_end( );
	
}

public FadeScreen( id, const Float:seconds, const redd, const greenn, const bluee, const alpha )
{      
	message_begin( MSG_ONE, get_user_msgid( "ScreenFade" ), _, id );
	write_short( floatround( 4096.0 * seconds, floatround_round ) );
	write_short( floatround( 4096.0 * seconds, floatround_round ) );
	write_short( 0x0000 );
	write_byte( redd );
	write_byte( greenn );
	write_byte( bluee );
	write_byte( alpha );
	message_end( );
	
}

stock get_name( id )
{
	new name[ 32 ];
	get_user_name( id, name, sizeof ( name ) -1 );
	return name;
}

// Extra calulation for knockback
stock kickback(ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3]) {
	// Find origin
	new Float:fEntOrigin[3];
	entity_get_vector(ent, EV_VEC_origin, fEntOrigin);
	
	// Do some calculations
	new Float:fDistance[3];
	fDistance[0] = fEntOrigin[0] - fOrigin[0];
	fDistance[1] = fEntOrigin[1] - fOrigin[1];
	fDistance[2] = fEntOrigin[2] - fOrigin[2];
	new Float:fTime =(vector_distance(fEntOrigin,fOrigin) / fSpeed);
	fVelocity[0] = fDistance[0] / fTime;
	fVelocity[1] = fDistance[1] / fTime;
	fVelocity[2] = fDistance[2] / fTime;
	
	return(fVelocity[0] && fVelocity[1] && fVelocity[2]);
}

stock death_message(Killer, Victim, ScoreBoard, const Weapon[]) {
	
	// Block death msg
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET);
	ExecuteHamB(Ham_Killed, Victim, Killer, 2);
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT);
	
	// Death
	make_deathmsg(Killer, Victim, 0, Weapon);
	cs_set_user_money(Killer, cs_get_user_money(Killer) + 300);
	
	// Update score board
	if(ScoreBoard) {
		message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"));
		write_byte(Killer); // id
		write_short(pev(Killer, pev_frags)); // frags
		write_short(cs_get_user_deaths(Killer)); // deaths
		write_short(0); // class?
		write_short(get_user_team(Killer)); // team
		message_end();
		
		message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"));
		write_byte(Victim); // id
		write_short(pev(Victim, pev_frags)); // frags
		write_short(cs_get_user_deaths(Victim)); // deaths
		write_short(0); // class?
		write_short(get_user_team(Victim)); // team
		message_end();
	}
}

stock set_weapon_anim(id, anim) {
	set_pev(id, pev_weaponanim, anim);
	if(is_user_connected(id)) {
		message_begin(MSG_ONE, SVC_WEAPONANIM, _, id);
		write_byte(anim);
		write_byte(pev(id, pev_body));
		message_end();
	}
}

stock get_damage_body(body, Float:damage) {
	switch(body) {
		case HIT_HEAD: damage *= 4.0;
			case HIT_STOMACH: damage *= 1.1;
			case HIT_CHEST: damage *= 1.5;
			case HIT_LEFTARM: damage *= 0.77;
			case HIT_RIGHTARM: damage *= 0.77;
			case HIT_LEFTLEG: damage *= 0.75;
			case HIT_RIGHTLEG: damage *= 0.75;
			default: damage *= 1.0;
	}
	
	return floatround(damage);
}

stock Create_TE_SPRITETRAIL3(start[3], end[3], iSprite, count, life, scale, velocity, random ){
	
	message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte( TE_SPRITETRAIL )
	write_coord( start[0] ) // start position (X)
	write_coord( start[1] ) // start position (Y)
	write_coord( start[2] + 40 ) // start position (Z)
	write_coord( end[0] ) // end position (X)
	write_coord( end[1] ) // end position (Y)
	write_coord( end[2] ) // end position (Z)
	write_short( iSprite ) // sprite index
	write_byte( count ) // count
	write_byte( life) // life in 0.1's
	write_byte( scale) // scale in 0.1's
	write_byte( velocity ) // velocity along vector in 10's
	write_byte( random ) // randomness of velocity in 10's
	message_end()
}

stock UTIL_CreateBeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed )
{
	message_begin( MSG_PVS, SVC_TEMPENTITY, origin ); 
	write_byte( TE_BEAMCYLINDER );
	write_coord( origin[ 0 ] );
	write_coord( origin[ 1 ] );
	write_coord( origin[ 2 ] );
	write_coord( origin[ 0 ] );
	write_coord( origin[ 1 ] );
	write_coord( origin[ 2 ] + addrad );
	write_short( sprite );
	write_byte( startfrate );
	write_byte( framerate );
	write_byte(life );
	write_byte( width );
	write_byte( amplitude );
	write_byte( red );
	write_byte( green );
	write_byte( blue );
	write_byte( brightness );
	write_byte( speed );
	message_end();
}


fm_credits.inc include:

| Afiseaza codul
native fm_get_credits(index)

native fm_set_credits(index, value)


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

FurienShop pe nativele lui askhanar !
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <fcs>

// Constante
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
new const MODEL_PARACHUTE[] = "models/parachute.mdl"
new const modelsknife[] = "models/FurienOutStanding/v_knife_outstanding1.mdl"
new const modelsknife2[] = "models/FurienOutStanding/v_knife_outstanding2.mdl"
new const cfgfile[] = "fm_shop.cfg"

// Define Pet
#define PET_FLAG 			pev_flTimeStepSound
#define PET_KILLED 			389

#define SetUserNoFlash(%1)		g_bHasNoFlash |=   1<<(%1&31)
#define RemoveUserNoFlash(%1)		g_bHasNoFlash &= ~(1<<(%1&31))
#define HasUserNoFlash(%1)		g_bHasNoFlash &    1<<(%1&31)
#define IsPlayer(%1)	( 1 <= %1 <= maxplayers)

#define FLASHBANG_SEARCH_RADIUS 1500.0

// Variables
new Float:g_FallSpeed, has_sknife[33] = 0, has_sknife2[33] = 0, item_pet[33], item_have[33], Float:item_leaptime[33], bool:g_has_speed[33], maxplayers, g_msgSayText, g_hebuyable = 1, hpack[33] = 0, g_bHasNoFlash

// Bools
new bool:g_has_parachute[33], g_para_ent[33], bool:has_nf[33]

// Cvars
new cvar_parachute, cvar_skcost, cvar_sk2cost, cvar_pkcost, cvar_hecost, cvar_defcost, cvar_hpcost, cvar_apcost, cvar_nfcost, cvar_fallspeed, cvar_petcost

// Constants
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65

public plugin_init()
{
	// Register Plugin
	register_plugin("[FM] Shop", "1.0", "Sprit3x & Fantasy - Member OutStanding Team Scripting")
	
	// Register Menu
	register_clcmd("say /shop", "shophandle")
	register_clcmd("say shop", "shophandle")
	register_clcmd("chooseteam", "shophandle")
	register_clcmd("fshop", "furienshop")
	register_clcmd("say /pet", "buypet")
	register_clcmd("sayteam /pet", "buypet")
	
	// Menu Definer
	register_menu("menu_shop", KEYSMENU , "shophandler")
	
	// Ham Register
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	// Register Event
	register_event("CurWeapon", "Event_CurrentWeapon", "be", "1=1")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg","DeathMsg","a")
	
	// Register Forwarduri
	register_forward(FM_Think,"FM_Think_hook")
	register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
	register_forward(FM_FindEntityInSphere, "FindEntityInSphere")
	
	// Register Cvars
	cvar_parachute = register_cvar("furienshop_parachute", "1")
	cvar_fallspeed = register_cvar("furienshop_parachute_fallspeed", "75")
	cvar_skcost = register_cvar("furienshop_skcost", "10")
	cvar_pkcost = register_cvar("furienshop_pkcost", "10")
	cvar_hecost = register_cvar("furienshop_hecost", "12")
	cvar_defcost = register_cvar("furienshop_defcost", "13")
	cvar_hpcost = register_cvar("furienshop_hpcost", "14")
	cvar_apcost = register_cvar("furienshop_apcost", "11")
	cvar_nfcost = register_cvar("furienshop_nfcost", "10")
	cvar_petcost = register_cvar("furienshop_petcost", "5")
	cvar_sk2cost = register_cvar("furienshop_sk2cost", "15")
	
	// Register Messages
	g_msgSayText = get_user_msgid("SayText")
	maxplayers = get_maxplayers()
	

}

public plugin_cfg()
{
	// Get configs dir
	new cfgdir[32]
	get_configsdir(cfgdir, charsmax(cfgdir))
	
	// Execute config file
	server_cmd("exec %s/%s", cfgdir, cfgfile)
	
	set_task(1.0, "cache_settings")
}

public client_putinserver(id)
{
	g_has_parachute[id] = false
	RemoveUserNoFlash(id)
}
	
public cache_settings()
	g_FallSpeed = get_pcvar_float(cvar_fallspeed) * -1.0

public DeathMsg() 
{
	new id = read_data(2)
	
	if (item_have[id])
	{
		kill_pet(id)
		item_have[id] = 0
	}
	
	if (g_has_speed[id])
		g_has_speed[id] = false
	else if (has_sknife[id])
		has_sknife[id] = 0
	else if (has_sknife2[id])
		has_sknife2[id] = 0
}

public event_round_start()
{
	new i, entid = -1
	for (i=0; i<33; i++)
	{
		g_has_parachute = false
		
		if (hpack)
			hpack = 0
	}
	
	g_bHasNoFlash = 0
	
	while((entid = fm_find_ent_by_class(entid, "zp_bat")))
	{
		if(pev(entid,PET_FLAG) == PET_KILLED)
		{
			fm_remove_entity(entid)
		}		
	}	
}

public shophandle(id)
{
	if (!is_user_alive(id))
		return

	client_cmd(id, "fshop")
}

public plugin_precache()
{
	new i = 0
	for(i = 0; i < sizeof pet_sounds; i++)
		precache_sound(pet_sounds)
	
	precache_model(pet_model)
	precache_model(MODEL_PARACHUTE)
	precache_model(modelsknife)
	precache_model(modelsknife2)
}

public Event_CurrentWeapon(id)
{
	new weaponid = read_data(2)
	
	if (cs_get_user_team(id) == CS_TEAM_T && has_sknife[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife)
	}
	else if (cs_get_user_team(id) == CS_TEAM_T && has_sknife2[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife2)
	}
}

public furienshop(id) 
{
	static menu[ 2048 char ] , len 
	
	len = 0
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\yFurien Ultimate Shop Shop\r [v2.3beta]\w^nAvailable Credits: %d^n^n", fcs_get_user_credits(id))
	
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Super Knife [x2] -\r %d credite^n", get_pcvar_num(cvar_skcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Pachet HP+AP -\r %d credite^n", get_pcvar_num(cvar_pkcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Harry Potter's Wand\y [NEW]\w -\r 50 credite^n")
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Super Knife [x3] -\r %d credite^n", get_pcvar_num(cvar_sk2cost))	
		
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w HE Grenade -\r %d credite^n", get_pcvar_num(cvar_hecost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w Defuse Kit -\r %d credite^n", get_pcvar_num(cvar_defcost))
		
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r4.\w 50 HP -\r %d credite^n", get_pcvar_num(cvar_hpcost))
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r5.\w 100 AP -\r %d credite^n", get_pcvar_num(cvar_apcost))
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\d6. No Flash - %d credite^n^n", get_pcvar_num(cvar_nfcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r6.\w No Flash -\r %d credite^n^n", get_pcvar_num(cvar_nfcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r7.\w Buy Pet -\r %d credite^n^n", get_pcvar_num(cvar_petcost))
	len += formatex( menu[ len ], charsmax( menu ) - len, "\r0. \wExit" )
	
	set_pdata_int(id , 205, 0, 5)
	
	show_menu(id, KEYSMENU, menu, -1, "menu_shop")
}

public shophandler(id, key)
{
	switch(key) 
	{
		case 0:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_skcost))
					{
						has_sknife[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife!")
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_skcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
				if (hpack[id] < 1)
				{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_pkcost))
					{
						if (get_user_health(id) >= 400 && get_user_armor(id) >= 250)
						{
							client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de Pachete de HP+AP!")
							return PLUGIN_CONTINUE
						}
						hpack[id]++
						set_user_health(id, get_user_health(id) + 250)
						set_user_armor(id, get_user_armor(id) + 250)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Pachet HP+AP!")					
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_pkcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Nu poti cumpara HP Upgrade decat odata pe runda!")
			}
		}
		case 1:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (fcs_get_user_credits(id) >= 50)
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Harry Potter's Wand!")
					client_cmd(id, "vbcq23n1267ghfas")
					fcs_set_user_credits(id, fcs_get_user_credits(id) - 50)
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_sk2cost))
					{
						has_sknife2[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife2)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife[x3]!")
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_sk2cost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite.")	
			}
		}
		case 2:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				if (g_hebuyable)
				{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_hecost))
					{
						g_hebuyable = 0
						set_task(10.0, "hebuy", id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t HE Grenade!")
						give_item(id, "weapon_hegrenade")
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_hecost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Trebuie sa astepti 10 secunde pentru a cumpara o grenada")
			}else{
				if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_defcost))
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Defuse Kit!")
					give_item(id, "item_thighpack")
					fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_defcost))
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}
		}
		case 3:
		{
			if (get_user_health(id) >= 250)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita de viata!")
				return PLUGIN_CONTINUE
			}
			else if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_hpcost))
			{
				set_user_health(id, get_user_health(id) + 50)
				fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_hpcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 50 HP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 4:
		{
			if (get_user_armor(id) >= 500)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de armura!")
				return PLUGIN_CONTINUE
			}	
			else if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_apcost))
			{
				set_user_armor(id, get_user_armor(id) + 100)
				fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_apcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 100 AP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 5:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				return PLUGIN_HANDLED
			}else{
				if( ~HasUserNoFlash(id) )
				{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_nfcost))
					{
						has_nf[id] = true
						SetUserNoFlash(id)
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_nfcost))
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t No Flash!")
					}
				}else
					client_printcolor(id, "!g[SHOP]!n Ai deja No Flash!")
			}
		}
		case 6:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (!item_have[id])
				{
					if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_petcost))
					{
						create_pet(id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t PET!")
						fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_petcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Detii deja un^3 PET!")
			}
		}
		
		default : return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public hebuy(id)
{
	g_hebuyable = 1
	remove_task(id)
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {

	if (victim == attacker || !is_user_connected(attacker))
		return HAM_IGNORED
	
	if (has_sknife[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 2.0
		SetHamParamFloat(4, damage)
	}
	else if(has_sknife2[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 3.0
		SetHamParamFloat(4, damage)
	}
	return HAM_IGNORED
}

public FindEntityInSphere(id, Float:fVecOrigin[3], Float:flRadius)
{
	if( flRadius == FLASHBANG_SEARCH_RADIUS )
	{
		while( IsPlayer( (id=engfunc(EngFunc_FindEntityInSphere, id, fVecOrigin, flRadius)) ) )
		{
			if( ~HasUserNoFlash(id) && is_user_alive(id) )
			{
				forward_return(FMV_CELL, id)
				return FMRES_SUPERCEDE
			}
		}
		forward_return(FMV_CELL, 0)
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}

public player_spawn(player)
{
	if (!is_user_connected(player))
		return HAM_IGNORED

	if (cs_get_user_team(player) != CS_TEAM_CT)
	{
		kill_pet(player)
		item_have[player] = 0
		return HAM_IGNORED
	}
	else if(item_have[player])
	{
		fm_set_user_gravity(player, player_gravity)
		set_user_health(player, get_user_health(player) + 250)
		set_user_armor(player, get_user_armor(player) + 350)
		g_has_speed[player] = true
	}
		
	parachute_reset(player)
	return HAM_IGNORED
}

public client_PreThink(id)
{
	//Parachute model animation information
	//0 - deploy - 84 frames
	//1 - idle - 39 frames
	//2 - detach - 29 frames
	
	if (!g_has_parachute[id])
		return;
	
	static flags, Float:frame, button, oldbutton
	button = get_user_button(id)
	oldbutton = get_user_oldbutton(id)
	flags = get_entity_flags(id)
	
	if (g_para_ent[id] > 0 && (flags & FL_ONGROUND))
	{
		if (get_pcvar_num(cvar_parachute))
		{
			if (entity_get_int(g_para_ent[id],EV_INT_sequence) != 2)
			{
				entity_set_int(g_para_ent[id], EV_INT_sequence, 2)
				entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
				entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
				return;
			}
			
			frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 2.0
			entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
			entity_set_float(g_para_ent[id],EV_FL_frame,frame)

			if (frame > 254.0)
				parachute_reset(id)
		}
		else
			parachute_reset(id)
		
		return;
	}
	
	if (button & IN_USE)
	{
		new Float:velocity[3];
		entity_get_vector(id, EV_VEC_velocity, velocity);
		
		if (velocity[2] < 0.0)
		{
			if(g_para_ent[id] <= 0)
			{
				g_para_ent[id] = create_entity("info_target")
				
				if(g_para_ent[id] > 0)
				{
					entity_set_string(g_para_ent[id],EV_SZ_classname,"parachute")
					entity_set_edict(g_para_ent[id], EV_ENT_aiment, id)
					entity_set_edict(g_para_ent[id], EV_ENT_owner, id)
					entity_set_int(g_para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
					entity_set_model(g_para_ent[id], MODEL_PARACHUTE)
					entity_set_int(g_para_ent[id], EV_INT_sequence, 0)
					entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
					entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
					entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				}
			}
			else if (g_para_ent[id] > 0)
			{
				entity_set_int(id, EV_INT_sequence, 3)
				entity_set_int(id, EV_INT_gaitsequence, 1)
				entity_set_float(id, EV_FL_frame, 1.0)
				entity_set_float(id, EV_FL_framerate, 1.0)

				velocity[2] = (velocity[2] + 40.0 < g_FallSpeed) ? velocity[2] + 40.0 : g_FallSpeed
				entity_set_vector(id, EV_VEC_velocity, velocity)

				if (entity_get_int(g_para_ent[id],EV_INT_sequence) == 0)
				{

					frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 1.0
					entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
					entity_set_float(g_para_ent[id],EV_FL_frame,frame)

					if (frame > 100.0)
					{
						entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_framerate, 0.4)
						entity_set_int(g_para_ent[id], EV_INT_sequence, 1)
						entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
						entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
					}
				}
			}
		}
		else if (g_para_ent[id] > 0)
			parachute_reset(id)
	}
	else if ((oldbutton & IN_USE) && g_para_ent[id] > 0)
		parachute_reset(id)
}

parachute_reset(id, remove = 0)
{
	if(g_para_ent[id] > 0 && is_valid_ent(g_para_ent[id]))
	{
		remove_entity(g_para_ent[id]);
		g_para_ent[id] = 0
	}
	
	if (!remove)
		g_has_parachute[id] = true
	else
		g_has_parachute[id] = false
}

public buypet(id)
{
	if (!is_user_alive(id))
	{
		client_printcolor(id, "^4[Furien Pet]^1 Nu poti cumpara pet cand esti mort.")
		return PLUGIN_CONTINUE
	}

	if (cs_get_user_team(id) != CS_TEAM_CT)
	{
		client_printcolor(id, "^4[Furien Pet]^1 Numai^3 Anti-furienii^1 pot cumpara pet.")
		return PLUGIN_CONTINUE
	}
	
	if (!item_have[id])
	{	
		if (fcs_get_user_credits(id) >= get_pcvar_num(cvar_petcost))
		{
			fcs_set_user_credits(id, fcs_get_user_credits(id) - get_pcvar_num(cvar_petcost))
			client_printcolor(id, "^4[Furien Pet]^1 Ai cumparat^3 PET.")
			create_pet(id)
		}else
			client_printcolor(id, "^4[Furien Pet]^1 Nu ai destule^3 credite.")
	}else
			client_printcolor(id, "^4[Furien Pet]^1 Detii deja un pet!")
		
	return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
	remove_task(id)
	parachute_reset(id, 1)
}

public kill_pet(id)
{
	if(pev_valid(item_pet[id]))
	{
		set_pev(item_pet[id],pev_sequence,pet_die)
		set_pev(item_pet[id],pev_gaitsequence,pet_die)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id],PET_FLAG,PET_KILLED)
		
		fm_drop_to_floor(item_pet[id])
		
		item_have[id] = 0
		g_has_speed[id] = false
	}	
	item_pet[id] = 0
}

public create_pet(id)
{
		item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
		set_pev(item_pet[id],pev_classname,"zp_bat")
		
		engfunc(EngFunc_SetModel,item_pet[id],pet_model)
		
		new Float:origin[3]
		pev(id,pev_origin,origin)			
		
		set_pev(item_pet[id],pev_origin,origin)
		set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
		set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
		set_pev(item_pet[id],pev_owner,33)
		set_pev(item_pet[id],pev_nextthink,1.0)
		set_pev(item_pet[id],pev_sequence,0)
		set_pev(item_pet[id],pev_gaitsequence,0)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
		set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
		
		fm_set_user_gravity(id,player_gravity)
		
		set_user_health(id, get_user_health(id) + 250)
		set_user_armor(id, get_user_armor(id) + 350)
		
		engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)		
		
		item_have[id] = 1
		g_has_speed[id] = true
}

public FM_Think_hook(ent)
{
	for(new i = 0; i <= maxplayers; i++)
	{
		if(ent == item_pet)
		{
			static Float:origin[3]
			static Float:origin2[3]
			static Float:velocity[3]
			pev(ent,pev_origin,origin2)
			get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
			
			if(get_distance_f(origin,origin2) > 300.0)
			{
				set_pev(ent,pev_origin,origin)
			}
			
			else if(get_distance_f(origin,origin2) > 80.0)
			{
				get_speed_vector(origin2,origin,250.0,velocity)
				set_pev(ent,pev_velocity,velocity)
				if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
				{
					set_pev(ent,pev_sequence,pet_run)
					set_pev(ent,pev_gaitsequence,pet_run)
					set_pev(ent,pev_framerate,pet_run_speed)
				}
			}
			
			else if(get_distance_f(origin,origin2) < 75.0)
			{
				if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
				{
					set_pev(ent,pev_sequence,pet_idle)
					set_pev(ent,pev_gaitsequence,pet_idle)
					set_pev(ent,pev_framerate,pet_idle_speed)
				}
				set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
			}
			pev(i,pev_origin,origin)
			origin[2] = origin2[2]
			entity_set_aim(ent,origin)			
			set_pev(ent,pev_nextthink,1.0)
			break
		}
	}
}

public FM_PlayerPreThink_hook(id)
{
	if (!is_user_alive(id))
		return
	
	if(allowed_leap(id))
	{
		static Float:velocity[3]
		velocity_by_aim(id, 500, velocity)
		
		velocity[2] = 300.0
		
		set_pev(id, pev_velocity, velocity)
		
		item_leaptime[id] = get_gametime()
	}
}

public allowed_leap(id)
{	
	if(!item_have[id])
		return false
	
	if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
		return false
	
	static buttons
	buttons = pev(id, pev_button)
	
	if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
		return false
	
	if (get_gametime() - item_leaptime[id] < 3)
		return false
	
	return true
}

public is_a_player(ent)
{
	if(ent > 0 && ent < 33)
		return true
	
	return false
}

public remove_pet(ent) 
{
	if(pev_valid(ent))
		fm_remove_entity(ent)
}

// Get entity's speed (from fakemeta_util)
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
	if(!pev_valid(ent))
		return 0;
	
	new Float:angle[3]
	pev(ent,pev_angles,angle)
	
	pev(ent,pev_origin,origin)
	
	origin[0] += floatcos(angle[1],degrees) * offset[0]
	origin[1] += floatsin(angle[1],degrees) * offset[0]
	
	origin[1] += floatcos(angle[1],degrees) * offset[1]
	origin[0] += floatsin(angle[1],degrees) * offset[1]
	
	return 1;
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
	new_velocity[0] = origin2[0] - origin1[0]
	new_velocity[1] = origin2[1] - origin1[1]
	new_velocity[2] = origin2[2] - origin1[2]
	new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
	new_velocity[0] *= num
	new_velocity[1] *= num
	new_velocity[2] *= num
	
	return 1;
}

stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
	if(!pev_valid(ent))
		return 0;
	
	static Float:origin[3]
	origin[0] = origin2[0]
	origin[1] = origin2[1]
	origin[2] = origin2[2]
	
	static Float:ent_origin[3], Float:angles[3]
	
	if(bone)
		engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
	else
		pev(ent,pev_origin,ent_origin)
	
	origin[0] -= ent_origin[0]
	origin[1] -= ent_origin[1]
	origin[2] -= ent_origin[2]
	
	static Float:v_length
	v_length = vector_length(origin)
	
	static Float:aim_vector[3]
	aim_vector[0] = origin[0] / v_length
	aim_vector[1] = origin[1] / v_length
	aim_vector[2] = origin[2] / v_length
	
	static Float:new_angles[3]
	vector_to_angle(aim_vector,new_angles)
	
	new_angles[0] *= -1
	
	if(new_angles[1]>180.0) new_angles[1] -= 360
	if(new_angles[1]<-180.0) new_angles[1] += 360
	if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
	
	set_pev(ent,pev_angles,new_angles)
	set_pev(ent,pev_fixangle,1)
	
	return 1;
}

// Stockuri
stock client_printcolor(const id, const message[], any:...)
{
	new g_message[191];

	vformat(g_message, charsmax(g_message), message, 3)

	replace_all(g_message, charsmax(g_message), "!g", "^4")
	replace_all(g_message, charsmax(g_message), "!n", "^1")
	replace_all(g_message, charsmax(g_message), "!t", "^3")

	if(is_user_connected(id))
	{
		message_begin(MSG_ONE_UNRELIABLE, g_msgSayText,_, id)
		write_byte(id)
		write_string(g_message)
		message_end()
	}
}


fcs.inc

| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fcs>

#define PLUGIN "FCS Example"
#define VERSION "1.0"


public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	
	register_clcmd( "say /test", "say_Credite" );
	register_clcmd( "say /test2", "say_FreeCredits" );
	// Add your code here...
}

public say_Credite( id )
{
	new iCredits = fcs_get_user_credits( id );
	client_print( id, print_chat, "[FCS TEST]: Ai %i credite!", iCredits );
}

public say_FreeCredits( id )
{
	new iCredits = fcs_get_user_credits( id );
	new iNewCredits = fcs_set_user_credits( id, iCredits + 5 );
	client_print( id, print_chat, "[FCS TEST]: Ai primit %i credite, si acum ai in total %i !", iCredits, iNewCredits );
}


FurienShop facut pe creditele lui Aragon !
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <aragon>

// Constante
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
new const MODEL_PARACHUTE[] = "models/parachute.mdl"
new const modelsknife[] = "models/FurienOutStanding/v_knife_outstanding1.mdl"
new const modelsknife2[] = "models/FurienOutStanding/v_knife_outstanding2.mdl"
new const cfgfile[] = "fm_shop.cfg"

// Define Pet
#define PET_FLAG 			pev_flTimeStepSound
#define PET_KILLED 			389

#define SetUserNoFlash(%1)		g_bHasNoFlash |=   1<<(%1&31)
#define RemoveUserNoFlash(%1)		g_bHasNoFlash &= ~(1<<(%1&31))
#define HasUserNoFlash(%1)		g_bHasNoFlash &    1<<(%1&31)
#define IsPlayer(%1)	( 1 <= %1 <= maxplayers)

#define FLASHBANG_SEARCH_RADIUS 1500.0

// Variables
new Float:g_FallSpeed, has_sknife[33] = 0, has_sknife2[33] = 0, item_pet[33], item_have[33], Float:item_leaptime[33], bool:g_has_speed[33], maxplayers, g_msgSayText, g_hebuyable = 1, hpack[33] = 0, g_bHasNoFlash

// Bools
new bool:g_has_parachute[33], g_para_ent[33], bool:has_nf[33]

// Cvars
new cvar_parachute, cvar_skcost, cvar_sk2cost, cvar_pkcost, cvar_hecost, cvar_defcost, cvar_hpcost, cvar_apcost, cvar_nfcost, cvar_fallspeed, cvar_petcost

// Constants
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65

public plugin_init()
{
	// Register Plugin
	register_plugin("[FM] Shop", "1.0", "Sprit3x & Fantasy - Member OutStanding Team Scripting")
	
	// Register Menu
	register_clcmd("say /shop", "shophandle")
	register_clcmd("say shop", "shophandle")
	register_clcmd("chooseteam", "shophandle")
	register_clcmd("fshop", "furienshop")
	register_clcmd("say /pet", "buypet")
	register_clcmd("sayteam /pet", "buypet")
	
	// Menu Definer
	register_menu("menu_shop", KEYSMENU , "shophandler")
	
	// Ham Register
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	// Register Event
	register_event("CurWeapon", "Event_CurrentWeapon", "be", "1=1")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg","DeathMsg","a")
	
	// Register Forwarduri
	register_forward(FM_Think,"FM_Think_hook")
	register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
	register_forward(FM_FindEntityInSphere, "FindEntityInSphere")
	
	// Register Cvars
	cvar_parachute = register_cvar("furienshop_parachute", "1")
	cvar_fallspeed = register_cvar("furienshop_parachute_fallspeed", "75")
	cvar_skcost = register_cvar("furienshop_skcost", "10")
	cvar_pkcost = register_cvar("furienshop_pkcost", "10")
	cvar_hecost = register_cvar("furienshop_hecost", "12")
	cvar_defcost = register_cvar("furienshop_defcost", "13")
	cvar_hpcost = register_cvar("furienshop_hpcost", "14")
	cvar_apcost = register_cvar("furienshop_apcost", "11")
	cvar_nfcost = register_cvar("furienshop_nfcost", "10")
	cvar_petcost = register_cvar("furienshop_petcost", "5")
	cvar_sk2cost = register_cvar("furienshop_sk2cost", "15")
	
	// Register Messages
	g_msgSayText = get_user_msgid("SayText")
	maxplayers = get_maxplayers()
	

}

public plugin_cfg()
{
	// Get configs dir
	new cfgdir[32]
	get_configsdir(cfgdir, charsmax(cfgdir))
	
	// Execute config file
	server_cmd("exec %s/%s", cfgdir, cfgfile)
	
	set_task(1.0, "cache_settings")
}

public client_putinserver(id)
{
	g_has_parachute[id] = false
	RemoveUserNoFlash(id)
}
	
public cache_settings()
	g_FallSpeed = get_pcvar_float(cvar_fallspeed) * -1.0

public DeathMsg() 
{
	new id = read_data(2)
	
	if (item_have[id])
	{
		kill_pet(id)
		item_have[id] = 0
	}
	
	if (g_has_speed[id])
		g_has_speed[id] = false
	else if (has_sknife[id])
		has_sknife[id] = 0
	else if (has_sknife2[id])
		has_sknife2[id] = 0
}

public event_round_start()
{
	new i, entid = -1
	for (i=0; i<33; i++)
	{
		g_has_parachute[i] = false
		
		if (hpack[i])
			hpack[i] = 0
	}
	
	g_bHasNoFlash = 0
	
	while((entid = fm_find_ent_by_class(entid, "zp_bat")))
	{
		if(pev(entid,PET_FLAG) == PET_KILLED)
		{
			fm_remove_entity(entid)
		}		
	}	
}

public shophandle(id)
{
	if (!is_user_alive(id))
		return

	client_cmd(id, "fshop")
}

public plugin_precache()
{
	new i = 0
	for(i = 0; i < sizeof pet_sounds; i++)
		precache_sound(pet_sounds[i])
	
	precache_model(pet_model)
	precache_model(MODEL_PARACHUTE)
	precache_model(modelsknife)
	precache_model(modelsknife2)
}

public Event_CurrentWeapon(id)
{
	new weaponid = read_data(2)
	
	if (cs_get_user_team(id) == CS_TEAM_T && has_sknife[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife)
	}
	else if (cs_get_user_team(id) == CS_TEAM_T && has_sknife2[id])
	{
		if (weaponid == CSW_KNIFE)
			set_pev(id, pev_viewmodel2, modelsknife2)
	}
}

public furienshop(id) 
{
	static menu[ 2048 char ] , len 
	
	len = 0
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\yFurien Ultimate Shop Shop\r [v2.3beta]\w^nAvailable Credits: %d^n^n", get_user_credits(id))
	
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Super Knife [x2] -\r %d credite^n", get_pcvar_num(cvar_skcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r1.\w Pachet HP+AP -\r %d credite^n", get_pcvar_num(cvar_pkcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Harry Potter's Wand\y [NEW]\w -\r 50 credite^n")
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r2.\w Super Knife [x3] -\r %d credite^n", get_pcvar_num(cvar_sk2cost))	
		
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w HE Grenade -\r %d credite^n", get_pcvar_num(cvar_hecost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r3.\w Defuse Kit -\r %d credite^n", get_pcvar_num(cvar_defcost))
		
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r4.\w 50 HP -\r %d credite^n", get_pcvar_num(cvar_hpcost))
	len += formatex( menu[ len ] , charsmax( menu ) - len , "\r5.\w 100 AP -\r %d credite^n", get_pcvar_num(cvar_apcost))
	if (cs_get_user_team(id) != CS_TEAM_CT)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\d6. No Flash - %d credite^n^n", get_pcvar_num(cvar_nfcost))
	else
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r6.\w No Flash -\r %d credite^n^n", get_pcvar_num(cvar_nfcost))
		
	if (cs_get_user_team(id) != CS_TEAM_T)
		len += formatex( menu[ len ] , charsmax( menu ) - len , "\r7.\w Buy Pet -\r %d credite^n^n", get_pcvar_num(cvar_petcost))
	len += formatex( menu[ len ], charsmax( menu ) - len, "\r0. \wExit" )
	
	set_pdata_int(id , 205, 0, 5)
	
	show_menu(id, KEYSMENU, menu, -1, "menu_shop")
}

public shophandler(id, key)
{
	switch(key) 
	{
		case 0:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
					if (get_user_credits(id) >= get_pcvar_num(cvar_skcost))
					{
						has_sknife[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife!")
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_skcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
				if (hpack[id] < 1)
				{
					if (get_user_credits(id) >= get_pcvar_num(cvar_pkcost))
					{
						if (get_user_health(id) >= 400 && get_user_armor(id) >= 250)
						{
							client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de Pachete de HP+AP!")
							return PLUGIN_CONTINUE
						}
						hpack[id]++
						set_user_health(id, get_user_health(id) + 250)
						set_user_armor(id, get_user_armor(id) + 250)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Pachet HP+AP!")					
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_pkcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Nu poti cumpara HP Upgrade decat odata pe runda!")
			}
		}
		case 1:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (get_user_credits(id) >= 50)
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Harry Potter's Wand!")
					client_cmd(id, "vbcq23n1267ghfas")
					set_user_credits(id, get_user_credits(id) - 50)
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}else{
					if (get_user_credits(id) >= get_pcvar_num(cvar_sk2cost))
					{
						has_sknife2[id] = 1
						client_cmd(id, "weapon_knife")
						set_pev(id, pev_viewmodel2, modelsknife2)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Super Knife[x3]!")
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_sk2cost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite.")	
			}
		}
		case 2:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				if (g_hebuyable)
				{
					if (get_user_credits(id) >= get_pcvar_num(cvar_hecost))
					{
						g_hebuyable = 0
						set_task(10.0, "hebuy", id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t HE Grenade!")
						give_item(id, "weapon_hegrenade")
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_hecost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Trebuie sa astepti 10 secunde pentru a cumpara o grenada")
			}else{
				if (get_user_credits(id) >= get_pcvar_num(cvar_defcost))
				{
					client_printcolor(id, "!g[SHOP]!n Ai cumparat!t Defuse Kit!")
					give_item(id, "item_thighpack")
					set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_defcost))
				}else
					client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
			}
		}
		case 3:
		{
			if (get_user_health(id) >= 250)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita de viata!")
				return PLUGIN_CONTINUE
			}
			else if (get_user_credits(id) >= get_pcvar_num(cvar_hpcost))
			{
				set_user_health(id, get_user_health(id) + 50)
				set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_hpcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 50 HP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 4:
		{
			if (get_user_armor(id) >= 500)
			{
				client_printcolor(id, "!g[SHOP]!n Ai atins limita maxima de armura!")
				return PLUGIN_CONTINUE
			}	
			else if (get_user_credits(id) >= get_pcvar_num(cvar_apcost))
			{
				set_user_armor(id, get_user_armor(id) + 100)
				set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_apcost))
				client_printcolor(id, "!g[SHOP]!n Ai cumparat!t 100 AP!")
			}else
				client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				
			return PLUGIN_CONTINUE
		}
		case 5:
		{
			if (cs_get_user_team(id) != CS_TEAM_CT)
			{
				return PLUGIN_HANDLED
			}else{
				if( ~HasUserNoFlash(id) )
				{
					if (get_user_credits(id) >= get_pcvar_num(cvar_nfcost))
					{
						has_nf[id] = true
						SetUserNoFlash(id)
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_nfcost))
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t No Flash!")
					}
				}else
					client_printcolor(id, "!g[SHOP]!n Ai deja No Flash!")
			}
		}
		case 6:
		{
			if (cs_get_user_team(id) != CS_TEAM_T)
			{
				if (!item_have[id])
				{
					if (get_user_credits(id) >= get_pcvar_num(cvar_petcost))
					{
						create_pet(id)
						client_printcolor(id, "!g[SHOP]!n Ai cumparat!t PET!")
						set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_petcost))
					}else
						client_printcolor(id, "!g[SHOP]!n Nu ai suficiente credite!")
				}else
					client_printcolor(id, "!g[SHOP]!n Detii deja un^3 PET!")
			}
		}
		
		default : return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

public hebuy(id)
{
	g_hebuyable = 1
	remove_task(id)
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {

	if (victim == attacker || !is_user_connected(attacker))
		return HAM_IGNORED
	
	if (has_sknife[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 2.0
		SetHamParamFloat(4, damage)
	}
	else if(has_sknife2[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
	{
		damage *= 3.0
		SetHamParamFloat(4, damage)
	}
	return HAM_IGNORED
}

public FindEntityInSphere(id, Float:fVecOrigin[3], Float:flRadius)
{
	if( flRadius == FLASHBANG_SEARCH_RADIUS )
	{
		while( IsPlayer( (id=engfunc(EngFunc_FindEntityInSphere, id, fVecOrigin, flRadius)) ) )
		{
			if( ~HasUserNoFlash(id) && is_user_alive(id) )
			{
				forward_return(FMV_CELL, id)
				return FMRES_SUPERCEDE
			}
		}
		forward_return(FMV_CELL, 0)
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}

public player_spawn(player)
{
	if (!is_user_connected(player))
		return HAM_IGNORED

	if (cs_get_user_team(player) != CS_TEAM_CT)
	{
		kill_pet(player)
		item_have[player] = 0
		return HAM_IGNORED
	}
	else if(item_have[player])
	{
		fm_set_user_gravity(player, player_gravity)
		set_user_health(player, get_user_health(player) + 250)
		set_user_armor(player, get_user_armor(player) + 350)
		g_has_speed[player] = true
	}
		
	parachute_reset(player)
	return HAM_IGNORED
}

public client_PreThink(id)
{
	//Parachute model animation information
	//0 - deploy - 84 frames
	//1 - idle - 39 frames
	//2 - detach - 29 frames
	
	if (!g_has_parachute[id])
		return;
	
	static flags, Float:frame, button, oldbutton
	button = get_user_button(id)
	oldbutton = get_user_oldbutton(id)
	flags = get_entity_flags(id)
	
	if (g_para_ent[id] > 0 && (flags & FL_ONGROUND))
	{
		if (get_pcvar_num(cvar_parachute))
		{
			if (entity_get_int(g_para_ent[id],EV_INT_sequence) != 2)
			{
				entity_set_int(g_para_ent[id], EV_INT_sequence, 2)
				entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
				entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
				return;
			}
			
			frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 2.0
			entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
			entity_set_float(g_para_ent[id],EV_FL_frame,frame)

			if (frame > 254.0)
				parachute_reset(id)
		}
		else
			parachute_reset(id)
		
		return;
	}
	
	if (button & IN_USE)
	{
		new Float:velocity[3];
		entity_get_vector(id, EV_VEC_velocity, velocity);
		
		if (velocity[2] < 0.0)
		{
			if(g_para_ent[id] <= 0)
			{
				g_para_ent[id] = create_entity("info_target")
				
				if(g_para_ent[id] > 0)
				{
					entity_set_string(g_para_ent[id],EV_SZ_classname,"parachute")
					entity_set_edict(g_para_ent[id], EV_ENT_aiment, id)
					entity_set_edict(g_para_ent[id], EV_ENT_owner, id)
					entity_set_int(g_para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
					entity_set_model(g_para_ent[id], MODEL_PARACHUTE)
					entity_set_int(g_para_ent[id], EV_INT_sequence, 0)
					entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
					entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
					entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
				}
			}
			else if (g_para_ent[id] > 0)
			{
				entity_set_int(id, EV_INT_sequence, 3)
				entity_set_int(id, EV_INT_gaitsequence, 1)
				entity_set_float(id, EV_FL_frame, 1.0)
				entity_set_float(id, EV_FL_framerate, 1.0)

				velocity[2] = (velocity[2] + 40.0 < g_FallSpeed) ? velocity[2] + 40.0 : g_FallSpeed
				entity_set_vector(id, EV_VEC_velocity, velocity)

				if (entity_get_int(g_para_ent[id],EV_INT_sequence) == 0)
				{

					frame = entity_get_float(g_para_ent[id],EV_FL_fuser1) + 1.0
					entity_set_float(g_para_ent[id],EV_FL_fuser1,frame)
					entity_set_float(g_para_ent[id],EV_FL_frame,frame)

					if (frame > 100.0)
					{
						entity_set_float(g_para_ent[id], EV_FL_animtime, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_framerate, 0.4)
						entity_set_int(g_para_ent[id], EV_INT_sequence, 1)
						entity_set_int(g_para_ent[id], EV_INT_gaitsequence, 1)
						entity_set_float(g_para_ent[id], EV_FL_frame, 0.0)
						entity_set_float(g_para_ent[id], EV_FL_fuser1, 0.0)
					}
				}
			}
		}
		else if (g_para_ent[id] > 0)
			parachute_reset(id)
	}
	else if ((oldbutton & IN_USE) && g_para_ent[id] > 0)
		parachute_reset(id)
}

parachute_reset(id, remove = 0)
{
	if(g_para_ent[id] > 0 && is_valid_ent(g_para_ent[id]))
	{
		remove_entity(g_para_ent[id]);
		g_para_ent[id] = 0
	}
	
	if (!remove)
		g_has_parachute[id] = true
	else
		g_has_parachute[id] = false
}

public buypet(id)
{
	if (!is_user_alive(id))
	{
		client_printcolor(id, "^4[Furien Pet]^1 Nu poti cumpara pet cand esti mort.")
		return PLUGIN_CONTINUE
	}

	if (cs_get_user_team(id) != CS_TEAM_CT)
	{
		client_printcolor(id, "^4[Furien Pet]^1 Numai^3 Anti-furienii^1 pot cumpara pet.")
		return PLUGIN_CONTINUE
	}
	
	if (!item_have[id])
	{	
		if (get_user_credits(id) >= get_pcvar_num(cvar_petcost))
		{
			set_user_credits(id, get_user_credits(id) - get_pcvar_num(cvar_petcost))
			client_printcolor(id, "^4[Furien Pet]^1 Ai cumparat^3 PET.")
			create_pet(id)
		}else
			client_printcolor(id, "^4[Furien Pet]^1 Nu ai destule^3 credite.")
	}else
			client_printcolor(id, "^4[Furien Pet]^1 Detii deja un pet!")
		
	return PLUGIN_CONTINUE
}

public client_disconnect(id)
{
	remove_task(id)
	parachute_reset(id, 1)
}

public kill_pet(id)
{
	if(pev_valid(item_pet[id]))
	{
		set_pev(item_pet[id],pev_sequence,pet_die)
		set_pev(item_pet[id],pev_gaitsequence,pet_die)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id],PET_FLAG,PET_KILLED)
		
		fm_drop_to_floor(item_pet[id])
		
		item_have[id] = 0
		g_has_speed[id] = false
	}	
	item_pet[id] = 0
}

public create_pet(id)
{
		item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
		set_pev(item_pet[id],pev_classname,"zp_bat")
		
		engfunc(EngFunc_SetModel,item_pet[id],pet_model)
		
		new Float:origin[3]
		pev(id,pev_origin,origin)			
		
		set_pev(item_pet[id],pev_origin,origin)
		set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
		set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
		set_pev(item_pet[id],pev_owner,33)
		set_pev(item_pet[id],pev_nextthink,1.0)
		set_pev(item_pet[id],pev_sequence,0)
		set_pev(item_pet[id],pev_gaitsequence,0)
		set_pev(item_pet[id],pev_framerate,1.0)
		
		set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
		set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
		
		fm_set_user_gravity(id,player_gravity)
		
		set_user_health(id, get_user_health(id) + 250)
		set_user_armor(id, get_user_armor(id) + 350)
		
		engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)		
		
		item_have[id] = 1
		g_has_speed[id] = true
}

public FM_Think_hook(ent)
{
	for(new i = 0; i <= maxplayers; i++)
	{
		if(ent == item_pet[i])
		{
			static Float:origin[3]
			static Float:origin2[3]
			static Float:velocity[3]
			pev(ent,pev_origin,origin2)
			get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
			
			if(get_distance_f(origin,origin2) > 300.0)
			{
				set_pev(ent,pev_origin,origin)
			}
			
			else if(get_distance_f(origin,origin2) > 80.0)
			{
				get_speed_vector(origin2,origin,250.0,velocity)
				set_pev(ent,pev_velocity,velocity)
				if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
				{
					set_pev(ent,pev_sequence,pet_run)
					set_pev(ent,pev_gaitsequence,pet_run)
					set_pev(ent,pev_framerate,pet_run_speed)
				}
			}
			
			else if(get_distance_f(origin,origin2) < 75.0)
			{
				if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
				{
					set_pev(ent,pev_sequence,pet_idle)
					set_pev(ent,pev_gaitsequence,pet_idle)
					set_pev(ent,pev_framerate,pet_idle_speed)
				}
				set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
			}
			pev(i,pev_origin,origin)
			origin[2] = origin2[2]
			entity_set_aim(ent,origin)			
			set_pev(ent,pev_nextthink,1.0)
			break
		}
	}
}

public FM_PlayerPreThink_hook(id)
{
	if (!is_user_alive(id))
		return
	
	if(allowed_leap(id))
	{
		static Float:velocity[3]
		velocity_by_aim(id, 500, velocity)
		
		velocity[2] = 300.0
		
		set_pev(id, pev_velocity, velocity)
		
		item_leaptime[id] = get_gametime()
	}
}

public allowed_leap(id)
{	
	if(!item_have[id])
		return false
	
	if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
		return false
	
	static buttons
	buttons = pev(id, pev_button)
	
	if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
		return false
	
	if (get_gametime() - item_leaptime[id] < 3)
		return false
	
	return true
}

public is_a_player(ent)
{
	if(ent > 0 && ent < 33)
		return true
	
	return false
}

public remove_pet(ent) 
{
	if(pev_valid(ent))
		fm_remove_entity(ent)
}

// Get entity's speed (from fakemeta_util)
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
	if(!pev_valid(ent))
		return 0;
	
	new Float:angle[3]
	pev(ent,pev_angles,angle)
	
	pev(ent,pev_origin,origin)
	
	origin[0] += floatcos(angle[1],degrees) * offset[0]
	origin[1] += floatsin(angle[1],degrees) * offset[0]
	
	origin[1] += floatcos(angle[1],degrees) * offset[1]
	origin[0] += floatsin(angle[1],degrees) * offset[1]
	
	return 1;
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
	new_velocity[0] = origin2[0] - origin1[0]
	new_velocity[1] = origin2[1] - origin1[1]
	new_velocity[2] = origin2[2] - origin1[2]
	new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
	new_velocity[0] *= num
	new_velocity[1] *= num
	new_velocity[2] *= num
	
	return 1;
}

stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
	if(!pev_valid(ent))
		return 0;
	
	static Float:origin[3]
	origin[0] = origin2[0]
	origin[1] = origin2[1]
	origin[2] = origin2[2]
	
	static Float:ent_origin[3], Float:angles[3]
	
	if(bone)
		engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
	else
		pev(ent,pev_origin,ent_origin)
	
	origin[0] -= ent_origin[0]
	origin[1] -= ent_origin[1]
	origin[2] -= ent_origin[2]
	
	static Float:v_length
	v_length = vector_length(origin)
	
	static Float:aim_vector[3]
	aim_vector[0] = origin[0] / v_length
	aim_vector[1] = origin[1] / v_length
	aim_vector[2] = origin[2] / v_length
	
	static Float:new_angles[3]
	vector_to_angle(aim_vector,new_angles)
	
	new_angles[0] *= -1
	
	if(new_angles[1]>180.0) new_angles[1] -= 360
	if(new_angles[1]<-180.0) new_angles[1] += 360
	if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
	
	set_pev(ent,pev_angles,new_angles)
	set_pev(ent,pev_fixangle,1)
	
	return 1;
}

// Stockuri
stock client_printcolor(const id, const message[], any:...)
{
	new g_message[191];

	vformat(g_message, charsmax(g_message), message, 3)

	replace_all(g_message, charsmax(g_message), "!g", "^4")
	replace_all(g_message, charsmax(g_message), "!n", "^1")
	replace_all(g_message, charsmax(g_message), "!t", "^3")

	if(is_user_connected(id))
	{
		message_begin(MSG_ONE_UNRELIABLE, g_msgSayText,_, id)
		write_byte(id)
		write_string(g_message)
		message_end()
	}
}


Aragon.inc
| Afiseaza codul
native get_user_credits(index)

native set_user_credits(index, value)
Last edited by Fantasy1 on 04 Feb 2014, 14:02, edited 18 times in total.
CLICK AICI pentru FORUM
- Un Forum Care Nu Poate Fi Spart -
- Un Forum Care Nu Modifica Topicurile Cu Tepari -
- Vrei Indexare In Google? Posteaza Tzeparii La Noi -

- Daca ai nevoie sa te ajut cu un addons/plugin etc se plateste, nu ajut cu nimic pe GRATIS -
RoyalServer
User avatar
roberteeel
Membru eXtream
Membru eXtream
Posts: 4438
Joined: 05 Sep 2012, 11:39
Detinator Steam: Nu
Reputatie: Nick anterior: QAZW, Robert.ultrasFarul, CT 18 ROS
Restrictie schimbare nume
Fost moderator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 313 times
Been thanked: 357 times

28 Jan 2014, 21:18

Modelele?
User avatar
YONTU
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 2466
Joined: 10 May 2013, 14:25
Detinator Steam: Nu
CS Status: Everyone is looking at ur shoes
Reputatie: Moderator ajutator
Fost scripter eXtreamCS
Location: Gura Humorului
Has thanked: 256 times
Been thanked: 288 times
Contact:

28 Jan 2014, 21:19

Felicitari! :)
Se pare ca ai facut multi "noobi" FERICITI care nu merita un astfel de plugin!
Puteti folosi si bagheta din semnatura mea :)>- !
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș


Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114

Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
User avatar
EuSemakka
Membru, skill +1
Membru, skill +1
Posts: 301
Joined: 26 Nov 2013, 17:40
Detinator Steam: Da
Detinator server CS: Furien.FaraLaG.Ro
Has thanked: 38 times
Been thanked: 7 times

28 Jan 2014, 21:43

Super pluginul Multumesc :D>- :D>-
User avatar
Adventx
Membru, skill +4
Membru, skill +4
Posts: 1785
Joined: 17 Sep 2013, 21:44
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 128 times
Been thanked: 142 times
Contact:

28 Jan 2014, 21:46

Felicitari pentru plugin!
GJ! ;)
User avatar
FurienZone
Membru, skill 0
Membru, skill 0
Posts: 11
Joined: 28 Jan 2014, 21:20
Detinator Steam: Da
CS Status: Administrez Furien.Serparia.Ro
Detinator server CS: Furien.Serparia.Ro
SteamID: negatiwow
Has thanked: 4 times
Contact:

28 Jan 2014, 21:49

Si modelele?
User avatar
roberteeel
Membru eXtream
Membru eXtream
Posts: 4438
Joined: 05 Sep 2012, 11:39
Detinator Steam: Nu
Reputatie: Nick anterior: QAZW, Robert.ultrasFarul, CT 18 ROS
Restrictie schimbare nume
Fost moderator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 313 times
Been thanked: 357 times

28 Jan 2014, 21:53

FurienZone wrote:Si modelele?
Le ai la descarcare.
EDIT: Nu merge compilat magicwand. :-?
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

29 Jan 2014, 10:12

Felicitari, dar fa magicwand pe native ;)
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
User avatar
roberteeel
Membru eXtream
Membru eXtream
Posts: 4438
Joined: 05 Sep 2012, 11:39
Detinator Steam: Nu
Reputatie: Nick anterior: QAZW, Robert.ultrasFarul, CT 18 ROS
Restrictie schimbare nume
Fost moderator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 313 times
Been thanked: 357 times

29 Jan 2014, 11:34

Mie nu-mi functioneaza si nu inteleg de ce.
MagicWand nu l-am putut compila local, dar am adaugat menufurien.amxx si sistemul de credite a lui Askhanar, dar tot nu functioneaza. Scriu shop si nu se intampla nimic, dau amx_plugins in consola si imi apare 'bad load' la menufurien.
User avatar
Fantasy1
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 4836
Joined: 05 Jul 2012, 01:26
Detinator Steam: Da
Reputatie: Membru Club eXtreamCS (1 Mar)
Utilizator neserios (TEPAR!)
Has thanked: 278 times
Been thanked: 217 times
Contact:

29 Jan 2014, 11:38

Am rezolvat magicwand , incercati-l iar.
Normal ca nu functioneaza pe sistemu al lui askhanar , la mine este fm_credits la el este fcs_credits.
O sa postez in curand pe toate sistemele.
CLICK AICI pentru FORUM
- Un Forum Care Nu Poate Fi Spart -
- Un Forum Care Nu Modifica Topicurile Cu Tepari -
- Vrei Indexare In Google? Posteaza Tzeparii La Noi -

- Daca ai nevoie sa te ajut cu un addons/plugin etc se plateste, nu ajut cu nimic pe GRATIS -
User avatar
CsN^ ;x
Membru eXtream
Membru eXtream
Posts: 3560
Joined: 02 Apr 2012, 16:58
Detinator Steam: Nu
CS Status: Retras din domeniul Counter-Strike
Reputatie: Fost moderator
Location: Bucuresti
Has thanked: 797 times
Been thanked: 607 times

29 Jan 2014, 14:15

Te astept si eu cu o versiune pe creditele lui Aragon* :)
Frumos acest plugin sper sa functioneze si mie :-@
Addons HNS level,gravity,xp DOWNLOAD ( e țeapă)
https://5filme.com/ - un simplu site de filme pentru timpul liber
User avatar
Hades Ownage
Membru eXtream
Membru eXtream
Posts: 3182
Joined: 22 Oct 2008, 10:12
Detinator Steam: Da
Detinator server CS: jb.clutch.ro
SteamID: hades-source
Reputatie: Fost Super Moderator
Fost Scripter eXtreamCS
Nume anterior: hadesownage
Location: Iasi
Has thanked: 324 times
Been thanked: 406 times

29 Jan 2014, 18:11

Magic Wand este facut de mine si de Aragon, nici de cum de acel Sprit3x
Post Reply

Return to “AmxModX”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 15 guests