Cerere Modificare Plugin

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

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

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
User avatar
-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

15 Jun 2013, 21:27

Am acest plugin
| Afiseaza codul
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <hamsandwich>

native get_user_ethereal(id)
native set_user_ethereal(id, bool:active)

#define PLUGIN "Furien Weapons Menu"
#define VERSION "1.0"
#define AUTHOR "tre3fla, Fixed by lucylucy"

#define ADMIN_FLAG ADMIN_KICK
#define VIP_FLAG ADMIN_LEVEL_H

#define is_valid_player(%1) (1 <= %1 <= 32)

/* AK47 Golden pentru VIP */
new const vGoldenAk[ 64 ] = "models/antifurienweapons/v_goldenak.mdl"
new const pGoldenAk[ 64 ] = "models/antifurienweapons/p_goldenak.mdl"

/* M4A1 Golden pentru VIP */
new const vGoldenM4[ 64 ] = "models/antifurienweapons/v_goldenm4.mdl"
new const pGoldenM4[ 64 ] = "models/antifurienweapons/p_goldenm4.mdl"

/* MP5 Navy Golden pentru VIP */
new const vGoldenMP5[ 64 ] = "models/antifurienweapons/v_goldenmp5.mdl"
new const pGoldenMP5[ 64 ] = "models/antifurienweapons/p_goldenmp5.mdl"

/* AWP Golden pentru VIP */
new const vGoldenAWP[ 64 ] = "models/antifurienweapons/v_goldenawp.mdl"
new const pGoldenAWP[ 64 ] = "models/antifurienweapons/p_goldenawp.mdl"

//new m_spriteTexture

new bool: ArmaPrimita[ 33 ]
new bool: AreGoldenAK[ 33 ]
new bool: AreGoldenM4[ 33 ]
new bool: AreGoldenMP5[ 33 ]
new bool: AreGoldenAWP[ 33 ]

new normalTrace[33], lastTrace[33], cvEnabled, weapon, dummy;

public plugin_init( ) {
	register_plugin( PLUGIN, VERSION, AUTHOR )
	
	register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" )
	//register_event("CurWeapon", "GoldenEffect", "be", "1=1", "3>0" )
	

	cvEnabled = register_cvar("fwm_enabled","1");
	register_event("ResetHUD","event_resethud","b");		//
	register_clcmd("fullupdate","cmd_fullupdate");

	register_forward(FM_TraceLine,"fw_traceline");
	register_forward(FM_PlayerPostThink,"fw_playerpostthink");	//

	RegisterHam( Ham_Spawn, "player", "fwPlayerSpawn", true )
	RegisterHam( Ham_TakeDamage, "player", "fwTakeDamage" )
	
	register_clcmd( "say /weapons", "ClcmdWeaponsMenus" )

}

public plugin_precache( ) {
	precache_model( vGoldenAk )
	precache_model( pGoldenAk )
	precache_model( vGoldenM4 )
	precache_model( pGoldenM4 )
	precache_model( vGoldenMP5 )
	precache_model( pGoldenMP5 )
	precache_model( vGoldenAWP )
	precache_model( pGoldenAWP )
	//m_spriteTexture = precache_model( "sprites/dot.spr" )
}

public fwPlayerSpawn( id ) {
	AreGoldenAK[ id ] = false
	AreGoldenM4[ id ] = false
	AreGoldenMP5[ id ] = false
	AreGoldenAWP[ id ] = false
	ArmaPrimita[ id ] = false
	
	if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_CT ) {
		strip_user_weapons( id )
		PopUpWeaponsMenu( id )
		give_item( id, "weapon_knife" )
		give_item( id, "weapon_usp" )
		cs_set_user_bpammo( id, CSW_USP, 100 )
	}
	else if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_T ) {
		strip_user_weapons( id ) 
		give_item( id, "weapon_knife" )
		give_item( id, "weapon_hegrenade" )
		give_item( id, "weapon_flashbang" )
		give_item( id, "weapon_smokegrenade" )
		cs_set_user_bpammo( id, CSW_FLASHBANG, 2 )
	}
}

public PopUpWeaponsMenu( id ) {
	new FurienWeaponsMenu = menu_create( "\yAnti-Furien\r Weapons", "FurienWeaponsHandler" )
	
	menu_additem( FurienWeaponsMenu, "Arme\y Hunter", "1", 0 )
	menu_additem( FurienWeaponsMenu, "Arme\r V.I.P", "2", 0 )
        menu_additem( FurienWeaponsMenu, "Armea\r Ethereal", "3", 0 )
	
	menu_setprop( FurienWeaponsMenu, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, FurienWeaponsMenu, 0 )
}

public FurienWeaponsHandler( id, FurienWeaponsMenu, item ) {
	if( item == MENU_EXIT ) {
		menu_destroy( FurienWeaponsMenu )
		return PLUGIN_HANDLED
	}
	
	switch( item ) {
		case 0 : {
			ArmeNormale( id ) 
		}
		case 1 : {
			if( get_user_flags( id ) & VIP_FLAG ) {
				ArmeVIP( id ) 
			}
			else {
				ColorChat( id, "^4[Furien Weapons]^1 Aceste arme sunt rezervate numai pentru^3 V.I.P^1." )
				PopUpWeaponsMenu( id )
			}
                case 2 : {
                  if( get_user_ethereal(id) ) {
                        ColorChat(id,GREEN,"[Shop]^x01 Ai deja ^x04[Ethereal] ^x01!");
                  }
                  else if(cs_get_user_money(id) < 3000) {         
                        ColorChat(id,GREEN,"[Furien Weapons]^x01 Ai prea putini bani pentru a cumpara ^x04[Ethereal] ^x01!");
                  }
                  else {
                        ColorChat(id,GREEN,"[Furien Weapons]^x01 Ai cumparat ^x04[Ethereal] ^x01!"); 
                        cs_set_user_money(id, cs_get_user_money(id) - 3000)
                        set_user_ethereal(id, true)
        }
      }
    }
}
	menu_destroy( FurienWeaponsMenu )
	return PLUGIN_HANDLED
}

public ArmeNormale( id ) {
	
	new MeniuArmeNormale = menu_create( "\yArme\r Hunter", "ArmeNormaleHandler" )
	
	menu_additem( MeniuArmeNormale, "Monster\r (\yAK47\r)", "1", 0 )
	menu_additem( MeniuArmeNormale, "Spider\r (\yM4A1\r)", "2", 0 )
	menu_additem( MeniuArmeNormale, "Nurben\r (\yNavy\r)", "3", 0 )
	menu_additem( MeniuArmeNormale, "Sniper\r (\yAWP\r)", "4", 0 )
	
	menu_setprop( MeniuArmeNormale, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, MeniuArmeNormale, 0 )
}

public ArmeNormaleHandler( id, MeniuArmeNormale, item ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id, "^4[Furien Weapons]^1 Nu iti poti alege arma atunci cand esti mort!" )
		return PLUGIN_HANDLED
	}
	
	if( item == MENU_EXIT ) {
		menu_destroy( MeniuArmeNormale )
		return PLUGIN_HANDLED 
	}
	
	switch( item ) {
		case 0 : {
			give_item( id, "weapon_ak47" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AK47, 200 )
			ArmaPrimita[ id ] = true
		}
		case 1 : {
			give_item( id, "weapon_m4a1" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_M4A1, 200 )
			ArmaPrimita[ id ] = true
		}
		case 2 : {
			give_item( id, "weapon_mp5navy" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 200 )
			ArmaPrimita[ id ] = true
		}
		case 3 : {
			give_item( id, "weapon_awp" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AWP, 30 )
			ArmaPrimita[ id ] = true
		}
	}
	menu_destroy( MeniuArmeNormale )
	return PLUGIN_HANDLED
}

public ArmeVIP( id ) {
	new MeniuArmeVIP = menu_create( "\yArme \r*\w V\r.\wI\r.\wP\r *", "ArmeVIPHandler" )
	
	menu_additem( MeniuArmeVIP, "Golden AK47\r  (\y2x DMG\r)", "1", 0 )
	menu_additem( MeniuArmeVIP, "Golden M4A1\r (\y2x DMG\r)", "2", 0 )					
	menu_additem( MeniuArmeVIP, "Golden MP5\r   (\y2x DMG\r)", "3", 0 )			
	menu_additem( MeniuArmeVIP, "Golden AWP\r   (\y2x DMG\r)", "4", 0 )
	
	menu_setprop( MeniuArmeVIP, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, MeniuArmeVIP, 0 )
}

public ArmeVIPHandler( id, MeniuArmeVIP, item ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id, "^4[Furien Weapons]^1 Nu iti poti alege arma atunci cand esti mort!" )
		return PLUGIN_HANDLED
	}
	
	if( item == MENU_EXIT ) {
		menu_destroy( MeniuArmeVIP )
		return PLUGIN_HANDLED
	}
	
	switch( item ) {
		case 0 : {
			give_item( id, "weapon_ak47" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AK47, 250 )
			set_pev( id, pev_viewmodel2, vGoldenAk )
			set_pev( id, pev_weaponmodel2, pGoldenAk )
			ArmaPrimita[ id ] = true
			AreGoldenAK[ id ] = true
		}
		case 1 : {
			give_item( id, "weapon_m4a1" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_M4A1, 250 )
			set_pev( id, pev_viewmodel2, vGoldenM4 )
			set_pev( id, pev_weaponmodel2, pGoldenM4 )
			ArmaPrimita[ id ] = true
			AreGoldenM4[ id ] = true
		}
		case 2 : {
			give_item( id, "weapon_mp5navy" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 250 )
			set_pev( id, pev_viewmodel2, vGoldenMP5 )
			set_pev( id, pev_weaponmodel2, pGoldenMP5 )
			ArmaPrimita[ id ] = true
			AreGoldenMP5[ id ] = true
		}
		case 3 : {
			give_item( id, "weapon_awp" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AWP, 30 )
			set_pev( id, pev_viewmodel2, vGoldenAWP )
			set_pev( id, pev_weaponmodel2, pGoldenAWP )
			ArmaPrimita[ id ] = true
			AreGoldenAWP[ id ] = true
		}
	}
	menu_destroy( MeniuArmeVIP )
	return PLUGIN_HANDLED
}

public ClcmdWeaponsMenus( id ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id, "^4[Furien Weapons]^1 Nu poti sa-ti alegeti arma atunci cand esti mort!" )
		return 
	}
	
	if( ArmaPrimita[ id ] ) {
		ColorChat( id, "^4[Furien Weapons]^1 Ti-ai ales deja arma in aceasta runda!" )
		return 
	}
	
	if( cs_get_user_team( id ) == CS_TEAM_CT ) {
		PopUpWeaponsMenu( id )
	}
}

public Event_CurWeapon( id ) {
	new Arma = read_data( 2 )
	
	if( Arma == CSW_AK47 && AreGoldenAK[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenAk )
		set_pev( id, pev_weaponmodel2, pGoldenAk )
	}
	
	if( Arma == CSW_M4A1 && AreGoldenM4[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenM4 )
		set_pev( id, pev_weaponmodel2, pGoldenM4 )
	}
	
	if( Arma == CSW_MP5NAVY && AreGoldenMP5[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenMP5 )
		set_pev( id, pev_weaponmodel2, pGoldenMP5 )
	}
	
	if( Arma == CSW_AWP && AreGoldenAWP[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenAWP )
		set_pev( id, pev_weaponmodel2, pGoldenAWP )
	}
}

public fwTakeDamage( Victim, Inflictor, Attacker, Float:Damage ) {
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_AK47 && AreGoldenAK[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker) && get_user_weapon( Attacker ) == CSW_M4A1 && AreGoldenM4[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_MP5NAVY && AreGoldenMP5[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker) == CSW_AWP && AreGoldenAWP[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
}

//public GoldenEffect( id ) {
//	new clip,ammo
//	new Arma = get_user_weapon(id,clip,ammo)
		
//	if (Arma == CSW_AK47 && AreGoldenAK[ id ] || Arma == CSW_M4A1 && AreGoldenM4[ id ] || Arma == CSW_MP5NAVY && AreGoldenMP5[ id ] || Arma == CSW_AWP && AreGoldenAWP[ id ]) {
//		new vec1[ 3 ], vec2[ 3 ]
//		get_user_origin( id, vec1, 1 ) 
//		get_user_origin( id, vec2, 4 ) 
//
//		message_begin( MSG_BROADCAST,SVC_TEMPENTITY )
//		write_byte ( 0 )     
//		write_coord( vec1[ 0 ] )
//		write_coord( vec1[ 1 ] )
//		write_coord( vec1[ 2 ] )
//		write_coord( vec2[ 0 ] )
//		write_coord( vec2[ 1 ] )
//		write_coord( vec2[ 2 ] )
//		write_short( m_spriteTexture )
//		write_byte( 1 )  
//		write_byte( 5 ) 
//		write_byte( 2 ) 
//		write_byte( 10 ) 
//		write_byte( 0  ) 
//		write_byte( 255  )     
//		write_byte( 215  )       
//		write_byte(  0 )       
//		write_byte( 200 ) 
//		write_byte( 150 ) 
//		message_end( )
//	}
//}

stock ColorChat(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!x04", "^4");
	replace_all(msg, 190, "!x01", "^1");
	replace_all(msg, 190, "!x03", "^3");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	} 
}

/* Edit lucylucy */


 // reset normal trace id on join or leave
 public client_connect(id)
 {
	normalTrace[id] = 0;
 }

 public client_disconnect(id)
 {
	normalTrace[id] = 0;
 }

 // player spawns, and some other such things
 public event_resethud(id)
 {
	lastTrace[id] = 0;
 }

 // block forced resethud call
 public cmd_fullupdate(id)
 {
	return PLUGIN_HANDLED;
 }

 // traceline hook, meat and bones of the entire plugin
 public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,pentru) // pentToSkip == id, for clarity
 {
	if(!is_user_connected(id))
		return FMRES_IGNORED;

	// grab normal trace
	if(!normalTrace[id])
	{
		normalTrace[id] = pentru;
		return FMRES_IGNORED;
	}

	// ignore normal trace
	else if(pentru == normalTrace[id])
		return FMRES_IGNORED;

	// no functionality
	if(!get_pcvar_num(cvEnabled))
		return FMRES_IGNORED;

	// not a player entity, or player is dead
	if(!is_user_alive(id))
		return FMRES_IGNORED;

	// not shooting anything
	if(!(pev(id,pev_button) & IN_ATTACK))
		return FMRES_IGNORED;

	weapon = get_user_weapon(id,dummy,dummy);

	// using a shotgun, expect multiple tracelines
	if(weapon == CSW_M3 || weapon == CSW_XM1014)
		return FMRES_IGNORED;

	// this is a second traceline, for shooting through walls
	if(pentru == lastTrace[id])
	{
		// values sure to throw off any traceline
		set_tr(TR_vecEndPos,Float:{4096.0,4096.0,4096.0});
		set_tr(TR_AllSolid,1);
		set_tr(TR_pHit,0);
		set_tr(TR_iHitgroup,0);
		set_tr(TR_flFraction,1.0);

		return FMRES_SUPERCEDE;
	}

	// remeber traceline index for next time
	lastTrace[id] = pentru;

	return FMRES_IGNORED;
 }

 // finished client calculations, reset our traceline index
 public fw_playerpostthink(id)
 {
	lastTrace[id] = 0;
 }


Si am incercat sa adaug in el Ethereal dar imi dau niste erori si nu se compileaza

Erorile sunt

| Afiseaza codul
warning 217: loose indentation (132)
error 014: invalid statement; not in switch (132)
warning 215: expression has no effect (132)
error 001: expected token: ";", but found ":" (132)
error 029: invalid expression, assumed zero (132)
fatal error 107: too many error messages on one line (132)


Ma poate ajuta cineva sa-l fixez si daca se poate sa mi-l faceti sa-l cumpar cu credite ?
RoyalServer 2
Onoare
Membru, skill +1
Membru, skill +1
Posts: 234
Joined: 31 May 2013, 13:23
Detinator Steam: Nu
CS Status: Sa traiesc!
Detinator server CS: Da
SteamID: Nu te priveste!
Location: Rm Valcea
Has thanked: 18 times
Been thanked: 34 times
Contact:

15 Jun 2013, 22:02

Am vazut pe foarte multe server ethereal sau cum e .. nu mai copiati unii de la altii ca o sa fie nasol.. fiti originali ...lasati mai simplu..nu mai complicati atat de mult..
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

15 Jun 2013, 22:04

Onoare wrote:Am vazut pe foarte multe server ethereal sau cum e .. nu mai copiati unii de la altii ca o sa fie nasol.. fiti originali ...lasati mai simplu..nu mai complicati atat de mult..
Stiu doar ca acest plugin ar fi ca o idie pentru ce arme as vrea eu sa adaug daca intelegi :)
Onoare
Membru, skill +1
Membru, skill +1
Posts: 234
Joined: 31 May 2013, 13:23
Detinator Steam: Nu
CS Status: Sa traiesc!
Detinator server CS: Da
SteamID: Nu te priveste!
Location: Rm Valcea
Has thanked: 18 times
Been thanked: 34 times
Contact:

15 Jun 2013, 22:16

A,ca de exemplu cum e pe alte servere sa adauge arma fatala,Water GUn sau cum mai era..
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

15 Jun 2013, 23:27

Onoare wrote:A,ca de exemplu cum e pe alte servere sa adauge arma fatala,Water GUn sau cum mai era..
Nu,alte arme cu alte puteri :)
munir
Membru eXtream
Membru eXtream
Posts: 3193
Joined: 30 Aug 2012, 22:16
Detinator Steam: Da
CS Status: Fost scripter
Detinator server CS: Nu
SteamID: -
Reputatie: Fost super moderator
Restrictie schimbare nume
Nume anterior: falseq, cruyff
Location: Bucuresti
Has thanked: 342 times
Been thanked: 571 times
Contact:

15 Jun 2013, 23:31

Ti`am reparat eroriile
| Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <ColorChat>

native get_user_ethereal(id)
native set_user_ethereal(id, bool:active)

#define PLUGIN "Furien Weapons Menu"
#define VERSION "1.0"
#define AUTHOR "tre3fla, Fixed by lucylucy"

#define ADMIN_FLAG ADMIN_KICK
#define VIP_FLAG ADMIN_LEVEL_H

#define is_valid_player(%1) (1 <= %1 <= 32)

/* AK47 Golden pentru VIP */
new const vGoldenAk[ 64 ] = "models/antifurienweapons/v_goldenak.mdl"
new const pGoldenAk[ 64 ] = "models/antifurienweapons/p_goldenak.mdl"

/* M4A1 Golden pentru VIP */
new const vGoldenM4[ 64 ] = "models/antifurienweapons/v_goldenm4.mdl"
new const pGoldenM4[ 64 ] = "models/antifurienweapons/p_goldenm4.mdl"

/* MP5 Navy Golden pentru VIP */
new const vGoldenMP5[ 64 ] = "models/antifurienweapons/v_goldenmp5.mdl"
new const pGoldenMP5[ 64 ] = "models/antifurienweapons/p_goldenmp5.mdl"

/* AWP Golden pentru VIP */
new const vGoldenAWP[ 64 ] = "models/antifurienweapons/v_goldenawp.mdl"
new const pGoldenAWP[ 64 ] = "models/antifurienweapons/p_goldenawp.mdl"

//new m_spriteTexture

new bool: ArmaPrimita[ 33 ]
new bool: AreGoldenAK[ 33 ]
new bool: AreGoldenM4[ 33 ]
new bool: AreGoldenMP5[ 33 ]
new bool: AreGoldenAWP[ 33 ]

new normalTrace[33], lastTrace[33], cvEnabled, weapon, dummy;

public plugin_init( ) {
	register_plugin( PLUGIN, VERSION, AUTHOR )
	
	register_event( "CurWeapon", "Event_CurWeapon", "be", "1=1" )
	//register_event("CurWeapon", "GoldenEffect", "be", "1=1", "3>0" )
	

	cvEnabled = register_cvar("fwm_enabled","1");
	register_event("ResetHUD","event_resethud","b");		//
	register_clcmd("fullupdate","cmd_fullupdate");

	register_forward(FM_TraceLine,"fw_traceline");
	register_forward(FM_PlayerPostThink,"fw_playerpostthink");	//

	RegisterHam( Ham_Spawn, "player", "fwPlayerSpawn", true )
	RegisterHam( Ham_TakeDamage, "player", "fwTakeDamage" )
	
	register_clcmd( "say /weapons", "ClcmdWeaponsMenus" )

}

public plugin_precache( ) {
	precache_model( vGoldenAk )
	precache_model( pGoldenAk )
	precache_model( vGoldenM4 )
	precache_model( pGoldenM4 )
	precache_model( vGoldenMP5 )
	precache_model( pGoldenMP5 )
	precache_model( vGoldenAWP )
	precache_model( pGoldenAWP )
	//m_spriteTexture = precache_model( "sprites/dot.spr" )
}

public fwPlayerSpawn( id ) {
	AreGoldenAK[ id ] = false
	AreGoldenM4[ id ] = false
	AreGoldenMP5[ id ] = false
	AreGoldenAWP[ id ] = false
	ArmaPrimita[ id ] = false
	
	if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_CT ) {
		strip_user_weapons( id )
		PopUpWeaponsMenu( id )
		give_item( id, "weapon_knife" )
		give_item( id, "weapon_usp" )
		cs_set_user_bpammo( id, CSW_USP, 100 )
	}
	else if( is_user_alive( id ) && cs_get_user_team( id ) == CS_TEAM_T ) {
		strip_user_weapons( id ) 
		give_item( id, "weapon_knife" )
		give_item( id, "weapon_hegrenade" )
		give_item( id, "weapon_flashbang" )
		give_item( id, "weapon_smokegrenade" )
		cs_set_user_bpammo( id, CSW_FLASHBANG, 2 )
	}
}

public PopUpWeaponsMenu( id ) {
	new FurienWeaponsMenu = menu_create( "\yAnti-Furien\r Weapons", "FurienWeaponsHandler" )
	
	menu_additem( FurienWeaponsMenu, "Arme\y Hunter", "1", 0 )
	menu_additem( FurienWeaponsMenu, "Arme\r V.I.P", "2", 0 )
        menu_additem( FurienWeaponsMenu, "Armea\r Ethereal", "3", 0 )
	
	menu_setprop( FurienWeaponsMenu, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, FurienWeaponsMenu, 0 )
}

public FurienWeaponsHandler( id, FurienWeaponsMenu, item ) {
	if( item == MENU_EXIT ) {
		menu_destroy( FurienWeaponsMenu )
		return PLUGIN_HANDLED
	}
	
	switch( item ) {
		case 0 : {
			ArmeNormale( id ) 
		}
		case 1 : {
			if( get_user_flags( id ) & VIP_FLAG ) {
				ArmeVIP( id ) 
			}
			else {
				ColorChat( id, GREEN, "^4[Furien Weapons]^1 Aceste arme sunt rezervate numai pentru^3 V.I.P^1." )
				PopUpWeaponsMenu( id )
			}
		}
                case 2 : {
                  if( get_user_ethereal(id) ) {
                        ColorChat(id,GREEN,"[Shop]^x01 Ai deja ^x04[Ethereal] ^x01!");
                  }
                  else if(cs_get_user_money(id) < 3000) {         
                        ColorChat(id,GREEN,"[Furien Weapons]^x01 Ai prea putini bani pentru a cumpara ^x04[Ethereal] ^x01!");
                  }
                  else {
                        ColorChat(id,GREEN,"[Furien Weapons]^x01 Ai cumparat ^x04[Ethereal] ^x01!"); 
                        cs_set_user_money(id, cs_get_user_money(id) - 3000)
                        set_user_ethereal(id, true)
        }
      }
    }
	return PLUGIN_HANDLED
}
public ArmeNormale( id ) {
	
	new MeniuArmeNormale = menu_create( "\yArme\r Hunter", "ArmeNormaleHandler" )
	
	menu_additem( MeniuArmeNormale, "Monster\r (\yAK47\r)", "1", 0 )
	menu_additem( MeniuArmeNormale, "Spider\r (\yM4A1\r)", "2", 0 )
	menu_additem( MeniuArmeNormale, "Nurben\r (\yNavy\r)", "3", 0 )
	menu_additem( MeniuArmeNormale, "Sniper\r (\yAWP\r)", "4", 0 )
	
	menu_setprop( MeniuArmeNormale, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, MeniuArmeNormale, 0 )
}

public ArmeNormaleHandler( id, MeniuArmeNormale, item ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id, GREEN, "^4[Furien Weapons]^1 Nu iti poti alege arma atunci cand esti mort!" )
		return PLUGIN_HANDLED
	}
	
	if( item == MENU_EXIT ) {
		menu_destroy( MeniuArmeNormale )
		return PLUGIN_HANDLED 
	}
	
	switch( item ) {
		case 0 : {
			give_item( id, "weapon_ak47" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AK47, 200 )
			ArmaPrimita[ id ] = true
		}
		case 1 : {
			give_item( id, "weapon_m4a1" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_M4A1, 200 )
			ArmaPrimita[ id ] = true
		}
		case 2 : {
			give_item( id, "weapon_mp5navy" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 200 )
			ArmaPrimita[ id ] = true
		}
		case 3 : {
			give_item( id, "weapon_awp" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AWP, 30 )
			ArmaPrimita[ id ] = true
		}
	}
	menu_destroy( MeniuArmeNormale )
	return PLUGIN_HANDLED
}

public ArmeVIP( id ) {
	new MeniuArmeVIP = menu_create( "\yArme \r*\w V\r.\wI\r.\wP\r *", "ArmeVIPHandler" )
	
	menu_additem( MeniuArmeVIP, "Golden AK47\r  (\y2x DMG\r)", "1", 0 )
	menu_additem( MeniuArmeVIP, "Golden M4A1\r (\y2x DMG\r)", "2", 0 )					
	menu_additem( MeniuArmeVIP, "Golden MP5\r   (\y2x DMG\r)", "3", 0 )			
	menu_additem( MeniuArmeVIP, "Golden AWP\r   (\y2x DMG\r)", "4", 0 )
	
	menu_setprop( MeniuArmeVIP, MPROP_EXIT, MEXIT_ALL )
	menu_display( id, MeniuArmeVIP, 0 )
}

public ArmeVIPHandler( id, MeniuArmeVIP, item ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id, GREEN, "^4[Furien Weapons]^1 Nu iti poti alege arma atunci cand esti mort!" )
		return PLUGIN_HANDLED
	}
	
	if( item == MENU_EXIT ) {
		menu_destroy( MeniuArmeVIP )
		return PLUGIN_HANDLED
	}
	
	switch( item ) {
		case 0 : {
			give_item( id, "weapon_ak47" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AK47, 250 )
			set_pev( id, pev_viewmodel2, vGoldenAk )
			set_pev( id, pev_weaponmodel2, pGoldenAk )
			ArmaPrimita[ id ] = true
			AreGoldenAK[ id ] = true
		}
		case 1 : {
			give_item( id, "weapon_m4a1" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_M4A1, 250 )
			set_pev( id, pev_viewmodel2, vGoldenM4 )
			set_pev( id, pev_weaponmodel2, pGoldenM4 )
			ArmaPrimita[ id ] = true
			AreGoldenM4[ id ] = true
		}
		case 2 : {
			give_item( id, "weapon_mp5navy" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_MP5NAVY, 250 )
			set_pev( id, pev_viewmodel2, vGoldenMP5 )
			set_pev( id, pev_weaponmodel2, pGoldenMP5 )
			ArmaPrimita[ id ] = true
			AreGoldenMP5[ id ] = true
		}
		case 3 : {
			give_item( id, "weapon_awp" )
			give_item( id, "weapon_smokegrenade" )
			cs_set_user_bpammo( id, CSW_AWP, 30 )
			set_pev( id, pev_viewmodel2, vGoldenAWP )
			set_pev( id, pev_weaponmodel2, pGoldenAWP )
			ArmaPrimita[ id ] = true
			AreGoldenAWP[ id ] = true
		}
	}
	menu_destroy( MeniuArmeVIP )
	return PLUGIN_HANDLED
}

public ClcmdWeaponsMenus( id ) {
	if( !is_user_alive( id ) ) {
		ColorChat( id,GREEN, "^4[Furien Weapons]^1 Nu poti sa-ti alegeti arma atunci cand esti mort!" )
		return 
	}
	
	if( ArmaPrimita[ id ] ) {
		ColorChat( id, GREEN,"^4[Furien Weapons]^1 Ti-ai ales deja arma in aceasta runda!" )
		return 
	}
	
	if( cs_get_user_team( id ) == CS_TEAM_CT ) {
		PopUpWeaponsMenu( id )
	}
}

public Event_CurWeapon( id ) {
	new Arma = read_data( 2 )
	
	if( Arma == CSW_AK47 && AreGoldenAK[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenAk )
		set_pev( id, pev_weaponmodel2, pGoldenAk )
	}
	
	if( Arma == CSW_M4A1 && AreGoldenM4[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenM4 )
		set_pev( id, pev_weaponmodel2, pGoldenM4 )
	}
	
	if( Arma == CSW_MP5NAVY && AreGoldenMP5[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenMP5 )
		set_pev( id, pev_weaponmodel2, pGoldenMP5 )
	}
	
	if( Arma == CSW_AWP && AreGoldenAWP[ id ] ) {
		set_pev( id, pev_viewmodel2, vGoldenAWP )
		set_pev( id, pev_weaponmodel2, pGoldenAWP )
	}
}

public fwTakeDamage( Victim, Inflictor, Attacker, Float:Damage ) {
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_AK47 && AreGoldenAK[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker) && get_user_weapon( Attacker ) == CSW_M4A1 && AreGoldenM4[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker ) == CSW_MP5NAVY && AreGoldenMP5[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
	
	if( is_valid_player( Attacker ) && get_user_weapon( Attacker) == CSW_AWP && AreGoldenAWP[ Attacker ] ) {
		SetHamParamFloat( 4, Damage * 2 )
	}
}

//public GoldenEffect( id ) {
//	new clip,ammo
//	new Arma = get_user_weapon(id,clip,ammo)
		
//	if (Arma == CSW_AK47 && AreGoldenAK[ id ] || Arma == CSW_M4A1 && AreGoldenM4[ id ] || Arma == CSW_MP5NAVY && AreGoldenMP5[ id ] || Arma == CSW_AWP && AreGoldenAWP[ id ]) {
//		new vec1[ 3 ], vec2[ 3 ]
//		get_user_origin( id, vec1, 1 ) 
//		get_user_origin( id, vec2, 4 ) 
//
//		message_begin( MSG_BROADCAST,SVC_TEMPENTITY )
//		write_byte ( 0 )     
//		write_coord( vec1[ 0 ] )
//		write_coord( vec1[ 1 ] )
//		write_coord( vec1[ 2 ] )
//		write_coord( vec2[ 0 ] )
//		write_coord( vec2[ 1 ] )
//		write_coord( vec2[ 2 ] )
//		write_short( m_spriteTexture )
//		write_byte( 1 )  
//		write_byte( 5 ) 
//		write_byte( 2 ) 
//		write_byte( 10 ) 
//		write_byte( 0  ) 
//		write_byte( 255  )     
//		write_byte( 215  )       
//		write_byte(  0 )       
//		write_byte( 200 ) 
//		write_byte( 150 ) 
//		message_end( )
//	}
//}

/* Edit lucylucy */


 // reset normal trace id on join or leave
 public client_connect(id)
 {
	normalTrace[id] = 0;
 }

 public client_disconnect(id)
 {
	normalTrace[id] = 0;
 }

 // player spawns, and some other such things
 public event_resethud(id)
 {
	lastTrace[id] = 0;
 }

 // block forced resethud call
 public cmd_fullupdate(id)
 {
	return PLUGIN_HANDLED;
 }

 // traceline hook, meat and bones of the entire plugin
 public fw_traceline(Float:vecStart[3],Float:vecEnd[3],ignoreM,id,pentru) // pentToSkip == id, for clarity
 {
	if(!is_user_connected(id))
		return FMRES_IGNORED;

	// grab normal trace
	if(!normalTrace[id])
	{
		normalTrace[id] = pentru;
		return FMRES_IGNORED;
	}

	// ignore normal trace
	else if(pentru == normalTrace[id])
		return FMRES_IGNORED;

	// no functionality
	if(!get_pcvar_num(cvEnabled))
		return FMRES_IGNORED;

	// not a player entity, or player is dead
	if(!is_user_alive(id))
		return FMRES_IGNORED;

	// not shooting anything
	if(!(pev(id,pev_button) & IN_ATTACK))
		return FMRES_IGNORED;

	weapon = get_user_weapon(id,dummy,dummy);

	// using a shotgun, expect multiple tracelines
	if(weapon == CSW_M3 || weapon == CSW_XM1014)
		return FMRES_IGNORED;

	// this is a second traceline, for shooting through walls
	if(pentru == lastTrace[id])
	{
		// values sure to throw off any traceline
		set_tr(TR_vecEndPos,Float:{4096.0,4096.0,4096.0});
		set_tr(TR_AllSolid,1);
		set_tr(TR_pHit,0);
		set_tr(TR_iHitgroup,0);
		set_tr(TR_flFraction,1.0);

		return FMRES_SUPERCEDE;
	}

	// remeber traceline index for next time
	lastTrace[id] = pentru;

	return FMRES_IGNORED;
 }

 // finished client calculations, reset our traceline index
 public fw_playerpostthink(id)
 {
	lastTrace[id] = 0;
 }
Retras
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

16 Jun 2013, 00:06

Multumesc Mult l-am facut si cu credite :D
Post Reply

Return to “Cereri”

  • Information