Cerere plugin furien shop

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
puNk.
Membru, skill 0
Membru, skill 0
Posts: 81
Joined: 14 Jul 2013, 14:25
Detinator Steam: Da
CS Status: Helping People!
Detinator server CS: FurieN.BsK.Ro
Has thanked: 24 times
Contact:

13 Sep 2013, 17:01

Salutare tuturor. As dori si eu un plugin cu shop pentru furien mod (doar pentru furien -tero) nu si anti-furien.
Shopul sa poata fi deschis cu comanda /furienshop, si cutitele din meniu sa fie cu credite
1. Fury Knife - model : http://cs.gamebanana.com/skins/128840 - 25 credite (+25 dmg)
2. Joker Knife - model : http://cs.gamebanana.com/skins/127412 - 30 credite (+30 dmg)
3. Rambo Knife - model : http://cs.gamebanana.com/skins/127330 - 35 credite (+35 dmg)
4. Camo Knife - model : http://cs.gamebanana.com/skins/126756 - 45 credite (+45 dmg)

Din shop sa iti poti alege doar 1 cutit pe runda (si cutitul sa ramana pana ce mori).
p.s.: daca echipele se schimba, cutitul sa nu ramana si la ct valabil.
Pe server am un plugin in care poti sa iti iei o viata pe runda (cu bani, desigur). Iar cand se reinvie (tot la furien) sa isi poata lua inca o data (orice alt cutit care vrea) cu credite, daca are.
Image
RoyalServer 2
User avatar
FlyingSnow
Membru, skill +2
Membru, skill +2
Posts: 825
Joined: 01 Oct 2012, 02:22
Detinator Steam: Da
Detinator server CS: Dap.
SteamID: Nu-i public.
Has thanked: 26 times
Been thanked: 52 times
Contact:

13 Sep 2013, 17:14

Revin cu edit in cateva minute.

EDIT:
Testeaza,Multumiri lui Turbo ca de la el m-am inspirat la unele chestii. | Afiseaza codul
#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta >
#include < fakemeta_util >
#include < fun >

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_knife1";
new super_knife2_v_model [ 66 ] = "models/v_knife2";
new super_knife3_v_model [ 66 ] = "models/v_knife3";
new super_knife4_v_model [ 66 ] = "models/v_knife4";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
}
public Spawn ( id ) {
	
	strip_user_weapons ( id );
	give_item ( id, "weapon_knife" );
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;
	
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "1", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "2", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "3", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "4", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
P.S: Merg pe afara daca e ceva lasi reply si ... rezilv cand vin.
puNk.
Membru, skill 0
Membru, skill 0
Posts: 81
Joined: 14 Jul 2013, 14:25
Detinator Steam: Da
CS Status: Helping People!
Detinator server CS: FurieN.BsK.Ro
Has thanked: 24 times
Contact:

13 Sep 2013, 18:49

09/13/2013 - 18:37:23: [FUN] Invalid player 2
09/13/2013 - 18:37:23: [AMXX] Run time error 10 (plugin "shopfurien.amxx") (native "strip_user_weapons") - debug not enabled!
09/13/2013 - 18:37:23: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

09/13/2013 - 18:37:31: [FUN] Invalid player 3
09/13/2013 - 18:37:31: [AMXX] Run time error 10 (plugin "shopfurien.amxx") (native "strip_user_weapons") - debug not enabled!
09/13/2013 - 18:37:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).


FATA ERROR (shutting down): SV_ModelIndex: model models/v_knife4.mdl not precached

am luat pluginul , l-am compilat. (ai gresit acolo, ai scris la toate doar v_knife1/2/3/4, fara .mdl (aia a fost prima eroare, in fine aia am rezolvat-o) )
l-am bagat in server, am downloadat modelele alea si am luat v_knife de la fiecare si le-am redenumit in v_knife1, v_knife2, v_knife3, v_knife4 (.mdl)
atunci incercam damage-urile si am scos dupa un plugin care ma deranja, era un knife menu la spawn la furien care anula "damage"-ul de la cutitele de la tine.
dupa am schimbat mapa, si au aparut erorile de mai sus :-?
Image
User avatar
FlyingSnow
Membru, skill +2
Membru, skill +2
Posts: 825
Joined: 01 Oct 2012, 02:22
Detinator Steam: Da
Detinator server CS: Dap.
SteamID: Nu-i public.
Has thanked: 26 times
Been thanked: 52 times
Contact:

13 Sep 2013, 19:41

Mda O_o nu am pus .mdl pentru ca acolo trebuia sa modifici tu cu alte modele adica
v_fury
v_joker
v_rambo
v_camo
Sau ceva de genu nu e neaparat sa lasi v_knife1 , v_knife2

Poftim din nou | Afiseaza codul
#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta >
#include < fakemeta_util >
#include < fun >

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_knife1";
new super_knife2_v_model [ 66 ] = "models/v_knife2";
new super_knife3_v_model [ 66 ] = "models/v_knife3";
new super_knife4_v_model [ 66 ] = "models/v_knife4";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	strip_user_weapons ( id );
	give_item ( id, "weapon_knife" );
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;
	
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "1", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "2", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "3", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "4", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

13 Sep 2013, 19:43

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

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_knife1";
new super_knife2_v_model [ 66 ] = "models/v_knife2";
new super_knife3_v_model [ 66 ] = "models/v_knife3";
new super_knife4_v_model [ 66 ] = "models/v_knife4";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
        precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;
	
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "1", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "2", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "3", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "4", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
puNk.
Membru, skill 0
Membru, skill 0
Posts: 81
Joined: 14 Jul 2013, 14:25
Detinator Steam: Da
CS Status: Helping People!
Detinator server CS: FurieN.BsK.Ro
Has thanked: 24 times
Contact:

13 Sep 2013, 20:20

Aceleasi modele le-am redenumit, si am schimbat numele si in .sma, in v_furyknife.mdl, v_ramboknife.mdl , etc. Am intrat in server, plugin cu /furienshop functioneaza ( am modificat comanda de meniu ) si skin-ul se modifica doar la skin 2 si la skin 3 (adica cutit joker si rambo).
erori nu am mai intalnit in acest caz. ce as putea face ? nu poti extrage tu modelele de pe site si sa le pui intr-o arhiva ? (daca faci asta pune-le numele v_"nume"knife.mdl te rog)
Image
User avatar
FlyingSnow
Membru, skill +2
Membru, skill +2
Posts: 825
Joined: 01 Oct 2012, 02:22
Detinator Steam: Da
Detinator server CS: Dap.
SteamID: Nu-i public.
Has thanked: 26 times
Been thanked: 52 times
Contact:

13 Sep 2013, 20:44

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

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_fury.mdl";
new super_knife2_v_model [ 66 ] = "models/v_joker.mdl";
new super_knife3_v_model [ 66 ] = "models/v_rambo.mdl";
new super_knife4_v_model [ 66 ] = "models/v_camo.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
        precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;
	
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "1", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "2", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "3", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "4", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
http://www.2shared.com/file/f6oQ1CNm/models.html

Poftim si modelele.. incearca acum.. vezi si dmg-u.
puNk.
Membru, skill 0
Membru, skill 0
Posts: 81
Joined: 14 Jul 2013, 14:25
Detinator Steam: Da
CS Status: Helping People!
Detinator server CS: FurieN.BsK.Ro
Has thanked: 24 times
Contact:

13 Sep 2013, 21:15

Din nou, merge doar skinul 3 (rambo) :(
Oare de la ce sa fie ?
Image
User avatar
FlyingSnow
Membru, skill +2
Membru, skill +2
Posts: 825
Joined: 01 Oct 2012, 02:22
Detinator Steam: Da
Detinator server CS: Dap.
SteamID: Nu-i public.
Has thanked: 26 times
Been thanked: 52 times
Contact:

13 Sep 2013, 22:20

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

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_fury.mdl";
new super_knife2_v_model [ 66 ] = "models/v_joker.mdl";
new super_knife3_v_model [ 66 ] = "models/v_rambo.mdl";
new super_knife4_v_model [ 66 ] = "models/v_camo.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
        precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;
	
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "0", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "1", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "2", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "3", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
Poftim, merg toate acum. Descarca http://www.2shared.com/file/f6oQ1CNm/models.html Baga-le in models pune pluginu pe server si bucura-te :D. Astept un "multumesc" daca merge.
Last edited by FlyingSnow on 13 Sep 2013, 22:21, edited 1 time in total.
User avatar
Rony
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 966
Joined: 11 Mar 2013, 11:43
Detinator Steam: Da
CS Status: CO-FOUNDER BETANO
Detinator server CS: CS1.6 , CS:GO
SteamID: 31r1
Reputatie: Membru Club eXtreamCS (1 luna)
Membru Club eXtreamCs (28 Feb)
Utilizator neserios (tepar)
Location: NAPOLI
Has thanked: 173 times
Been thanked: 66 times
Contact:

13 Sep 2013, 22:20

il vreau si eu sa apara la spawn
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

13 Sep 2013, 22:25

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

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_fury.mdl";
new super_knife2_v_model [ 66 ] = "models/v_joker.mdl";
new super_knife3_v_model [ 66 ] = "models/v_rambo.mdl";
new super_knife4_v_model [ 66 ] = "models/v_camo.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
        precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;

        FurienShop( id )
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "0", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "1", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "2", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "3", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = fcs_get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				fcs_set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = fcs_get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				fcs_set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = fcs_get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				fcs_set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = fcs_get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				fcs_set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
User avatar
Rony
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 966
Joined: 11 Mar 2013, 11:43
Detinator Steam: Da
CS Status: CO-FOUNDER BETANO
Detinator server CS: CS1.6 , CS:GO
SteamID: 31r1
Reputatie: Membru Club eXtreamCS (1 luna)
Membru Club eXtreamCs (28 Feb)
Utilizator neserios (tepar)
Location: NAPOLI
Has thanked: 173 times
Been thanked: 66 times
Contact:

13 Sep 2013, 22:26

Turbo19973 wrote:
| Afiseaza codul
#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < hamsandwich >
#include < fakemeta >
#include < fakemeta_util >
#include < fun >

#define PLUGIN "Furien Shop"
#define VERSION "0.3"
#define AUTHOR "Gabriel & Modificat de SnowFake"

native get_user_credits (id);
native set_user_credits (id,cantitate);

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

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

#define   FL_WATERJUMP   (1<<11)
#define   FL_ONGROUND         (1<<9)

new bool:super_knife [ 33 ];
new bool:super_knife2 [ 33 ];
new bool:super_knife3 [ 33 ];
new bool:super_knife4 [ 33 ];

new super_knife_v_model [ 66 ] = "models/v_fury.mdl";
new super_knife2_v_model [ 66 ] = "models/v_joker.mdl";
new super_knife3_v_model [ 66 ] = "models/v_rambo.mdl";
new super_knife4_v_model [ 66 ] = "models/v_camo.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_clcmd("say /shop", "FurienShop", 0);
	register_clcmd("say shop", "FurienShop", 0);
	register_clcmd("say_team /shop", "FurienShop", 0);
	register_clcmd("say_team shop", "FurienShop", 0);
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", 1 ); 
	
}
public plugin_precache ( ) {
	
	precache_model ( super_knife_v_model );
	precache_model ( super_knife2_v_model );
	precache_model ( super_knife3_v_model );
	precache_model ( super_knife3_v_model );
        precache_model ( super_knife4_v_model );
}
public Spawn ( id ) {
	
	super_knife [ id ] = false;
	super_knife2 [ id ] = false;
	super_knife3 [ id ] = false;
	super_knife4 [ id ] = false;

        FurienShop( id )
}
public CurrentWeapon ( id ) {
	
	if ( super_knife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife_v_model );
	}
	if ( super_knife2 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife2_v_model );
	}
	if ( super_knife3 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife3_v_model );
	}
	if ( super_knife4 [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, super_knife4_v_model );
	}
}
public FurienShop ( id ) {
	
	if (get_user_team(id) == 1 ) {
		
		set_task( 0.1, "ShowFurien", id );
	}
	
}
public ShowFurien(id, level, cid) {    
	
	new menu = menu_create( "\r Furien\w Shop", "furienhandler");
	menu_additem(menu, "Fury Knife \yX3 - \r10 \yCredite", "0", 0);
	menu_additem(menu, "Joker rKnife \yX4 - \r20 \yCredite", "1", 0);
	menu_additem(menu, "Rambo Knife \yX5 - \r30 \yCredite", "2", 0 );
	menu_additem(menu, "Camo Knife \yX6 - \r40 \yCredite", "3", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public furienhandler(id, menu, item, level, cid) {
	if( item == MENU_EXIT )
		{
		return 1;
	}
	
	new data[6], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key)
	{     
		
		case 0:
		{
			new iCredits = get_user_credits ( id ) - 10;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		case 1:
		{
			new iCredits = get_user_credits ( id ) - 20;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife2[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 2:
		{
			new iCredits = get_user_credits ( id ) - 30;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife3[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
		
		case 3:
		{
			new iCredits = get_user_credits ( id ) - 40;
			if( iCredits < 0 )
				{
				ColorChat( id, GREEN, "[Furien]^x01 Nu ai credite suficiente!");
				return 1;
				
			}
			else
			{ 
				super_knife4[ id ] = true;
				CurrentWeapon( id );
				
				set_user_credits( id, iCredits );
				return 1;
			}
		}
	}
	
	menu_destroy(menu);
	return 1;
}
public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
	{
	if( iInflictor == iAttacker && super_knife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.4);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 1.9);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife3 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.3);
		return HAM_HANDLED;
	}
	if( iInflictor == iAttacker && super_knife4 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
		SetHamParamFloat( 4, fDamage * 2.9);
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
}
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];
	
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
	
	vformat(message[1], 251, msg, 4);
	
	// Make sure message is not longer than 192 character. Will crash the server.
	message[192] = '^0';
	
	new team, ColorChange, index, MSG_Type;
	
	if(id)
		{
		MSG_Type = MSG_ONE;
		index = id;
		} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
	
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
	
	ShowColorMessage(index, MSG_Type, message);
	
	if(ColorChange)
		{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}

ShowColorMessage(id, type, message[])
{
	static bool:saytext_used;
	static get_user_msgid_saytext;
	if(!saytext_used)
		{
		get_user_msgid_saytext = get_user_msgid("SayText");
		saytext_used = true;
	}
	message_begin(type, get_user_msgid_saytext, _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}

Team_Info(id, type, team[])
{
	static bool:teaminfo_used;
	static get_user_msgid_teaminfo;
	if(!teaminfo_used)
		{
		get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
		teaminfo_used = true;
	}
	message_begin(type, get_user_msgid_teaminfo, _, id);
	write_byte(id);
	write_string(team);
	message_end();
	
	return 1;
}

ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
	
	return 0;
}

FindPlayer()
{
	new i = -1;
	
	while(i <= get_maxplayers())
		{
		if(is_user_connected(++i))
			return i;
	}
	
	return -1;
}
thanks
Post Reply

Return to “Cereri”

  • Information