Raised This Month: $ Target: $400
 0% 

Kage Vs Psycho


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
OveR
Junior Member
Join Date: Apr 2013
Old 06-08-2013 , 14:41   Kage Vs Psycho
Reply With Quote #1

Hello! I have this plugin with kave vs psycho.. in this plugin the last ct and the last terrorist become kage and psycho they have some special powers (speed, gravity, etc.) I tried to psycho to get a super m249 but i fail. What is wrong with this code?

Code:
/*
Cvar-uri:

fmp_psycho_hp	400     -  viata care o primeste psycho
fmp_psycho_ap	400     -  armura care o primeste psycho
fmp_psycho_speed	500     -  viteza care o primeste psycho


fmp_kage_hp	300     -  viata care o primeste kage
fmp_kage_ap	200     -  armura care o primeste kage
fmp_kage_speed	1000     -  viteza care o primeste kage

*/


#include < amxmodx >
#include < fun >
#include < hamsandwich >
#include < fakemeta >
#include < ColorChat >

#pragma semicolon 1

#define PLUGIN "Furien Mod Powers"
#define VERSION "0.1"


new const KageSound[    ]  =  "bleahhK.wav";
new const PsychoSound[    ]  =  "bleacP.wav";

new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;

new bool:UserIsKage[ 33 ];
new bool:UserIsPsycho[ 33 ];

new cvar_hp;
new cvar_ap;
new cvar_speed;

new cvar_hp2;
new cvar_ap2;
new cvar_speed2;

new SyncHudMessage;

new super_m249[66] = "models/furien/v_m249.mdl";
new bool:super_m249_model [ 33 ];

public plugin_cfg(    )
{
	
	set_cvar_float("sv_maxspeed", 1000.0  );
	
}

public plugin_precache(    )
{
	
	precache_sound(  KageSound  );
	precache_sound(  PsychoSound  );
	precache_model( super_m249 );
	
}

public plugin_init( )
{
	register_plugin( PLUGIN, VERSION, "Askhanar" );
	
	cvar_hp = register_cvar( "fmp_psycho_hp", "400" );
	cvar_ap = register_cvar( "fmp_psycho_ap", "400" );
	cvar_speed = register_cvar( "fmp_psycho_speed", "450" );
	
	cvar_hp2 = register_cvar( "fmp_kage_hp", "400" );
	cvar_ap2 = register_cvar( "fmp_kage_ap", "400" );
	cvar_speed2 = register_cvar( "fmp_kage_speed", "450" );
	
	
	RegisterHam(  Ham_Spawn,  "player",  "Ham_PlayerSpawnPost",  1  );
	register_event( "DeathMsg", "evDeathMsg", "a" );
	
	RegisterHam(  Ham_Player_ResetMaxSpeed,  "player",  "Ham_ResetMaxSpeedPost",  1  );
	
	SyncHudMessage = CreateHudSyncObj( );
	
}


public client_connect(  id  )
{
	if(  is_user_bot(  id  )  ||  is_user_hltv(  id  )  ) return 0;
	
	UserIsKage[  id  ]  =  false;
	UserIsPsycho[  id  ]  =  false;
	super_m249_model [ id ] = false;
	
	client_cmd(  id  , "cl_sidespeed 1000"  );
	client_cmd(  id  , "cl_forwardspeed 1000"  );
	client_cmd(  id  , "cl_backspeed 1000"  );
	
	return 0;
}

public client_disconnect(  id  )
{
	if(  is_user_bot(  id  )  ||  is_user_hltv(  id  )  ) return 0;
	
	UserIsKage[  id  ]  =  false;
	UserIsPsycho[  id  ]  =  false;	
	super_m249_model [ id ] = false;

	client_cmd(  id  , "cl_sidespeed 400"  );
	client_cmd(  id  , "cl_forwardpeed 400"  );
	client_cmd(  id  , "cl_backspeed 400"  );
	
	return 0;
}

public Ham_PlayerSpawnPost(  id  )
{
	
	if(  !is_user_alive(  id  )  ||  !is_user_connected(  id  )  )  return HAM_IGNORED;
	
	set_task( 0.1, "RemovePowers", id + 123 );
	
	return HAM_IGNORED;
	
}

public RemovePowers( id )
{
	id -= 123;
	if( !is_user_connected(  id  )  )  return 1;
	
		
	if( UserIsPsycho[ id ] )
		set_user_rendering( id );

	super_m249_model [ id ] = false;
		
	
	
	if( UserIsKage[ id ] || UserIsPsycho[ id ] )
		set_user_armor( id, 0 );
	
	UserIsPsycho[ id ] = false;
	UserIsKage[ id ] = false;
	super_m249_model [ id ] = false;

	client_cmd(  id, "lastinv" );
	client_cmd(  id, "lastinv" );
	
	return 0;
}


public SearchForPsycho(  )
{
	new iTerro  =  CountPlayers(  1  );
	new iCounter  =  CountPlayers(  2  );
	
	if(  iCounter == 1 && iTerro > 0 )
	{
		
		new id = GetRemainingPlayerId(  2  );
		if(  UserIsPsycho[  id  ]  )  return 1;
		
		UserIsPsycho[ id ] = true;
		
		ColorChat( 0, RED,"^x04[AntiFurien]^x03 %s^x01 a devenit^x03 Psycho^x01 ! ", get_name( id ) );
		ColorChat( 0, RED,"^x04[AntiFurien]^x01 Are^x03 %d^x01 HP,^x03 %d^x01 AP,^x03 %d^x01 Speed, aveti grija !", get_pcvar_num( cvar_hp ), get_pcvar_num( cvar_ap ), get_pcvar_num( cvar_speed ) );
		
		set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 0.0, 5.0, 0.0, 1.0, 3);
		ShowSyncHudMsg(  0,  SyncHudMessage,  "%s a devenit Psycho !^n Cea din urma salvare a omenirii !",  get_name(  id  )  );
		
		
		set_user_maxspeed( id, float( get_pcvar_num( cvar_speed ) ) );
		set_user_health( id, get_pcvar_num( cvar_hp ) );
		set_user_armor( id, get_pcvar_num( cvar_ap ) );

		give_item(id, "weapon_m249");
		super_m249_model [ id ] = true;
		set_task(0.1, "SuperM249_DMG", id);

		
		set_user_rendering( id, kRenderFxGlowShell, 0, 255, 255, kRenderNormal, 25 );
		
		new szCommand[ 128 ];
		formatex( szCommand, sizeof (  szCommand  )  -1,"cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f",
				float( get_pcvar_num( cvar_speed ) ), float( get_pcvar_num( cvar_speed ) ),
						float( get_pcvar_num( cvar_speed ) ) );
		client_cmd(  id,  szCommand );
		client_cmd( 0, "spk sound/%s", PsychoSound  );
		

	}

	return 0;
	
}

public SearchForKage(    )
{
	new iTerro  =  CountPlayers(  1  );
	new iCounter  =  CountPlayers(  2  );
	
	if(  iTerro  == 1  && iCounter > 0 )
	{
		new id = GetRemainingPlayerId(  1  );
		if(  UserIsKage[  id  ]  )  return 1;
		
		UserIsKage[ id ] = true;
		
		ColorChat( 0, RED,"^x04[Furien]^x03 %s^x01 s-a transformat in^x03 Kage^x01 ! ", get_name( id ));
		ColorChat( 0, RED,"^x04[Furien]^x01 Are^x03 %d^x01 HP,^x03 %d^x01 AP,^x03 %d^x01 Speed, aveti grija !", get_pcvar_num( cvar_hp2 ), get_pcvar_num( cvar_ap2 ), get_pcvar_num( cvar_speed2 )  );
		set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 0.0, 5.0, 0.0, 1.0, 3);
		ShowSyncHudMsg(  0,  SyncHudMessage,  "%s s-a transformat in Kage !^nSansele pamantenilor au scazut !",  get_name(  id  )  );
		
		
		set_user_maxspeed( id, float( get_pcvar_num( cvar_speed2 ) ) );
		set_user_health( id, get_pcvar_num( cvar_hp2 ) );
		set_user_armor( id, get_pcvar_num( cvar_ap2 ) );
		
		new szCommand[ 128 ];
		formatex( szCommand, sizeof (  szCommand  )  -1,"cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f",
				float( get_pcvar_num( cvar_speed2 ) ), float( get_pcvar_num( cvar_speed2 ) ),
						float( get_pcvar_num( cvar_speed2 ) ) );
		client_cmd(  id,  szCommand );
		
		client_cmd( 0, "spk sound/%s", KageSound  );
		
	}
	
	return 0;
}

public evDeathMsg( )
{
	
	SearchForPsycho(    );
	SearchForKage(    );
	
	new iKiller = read_data( 1 );
	new iVictim = read_data( 2 ); 
     
	if( !is_user_connected( iKiller ) || !is_user_connected( iVictim ) || iKiller == iVictim ) return 1;
	
	if( UserIsKage[ iVictim ] )
	{
		ColorChat( 0, RED, "^x04[AntiFurien]^x01 Kage^x03 %s^x01 a fost omorat de^x03 %s^x01 !",get_name( iVictim ), get_name( iKiller ) );
	}
	else if( UserIsPsycho[ iVictim ] )
	{
		ColorChat( 0, RED, "^x04[AntiFurien]^x01 Psycho^x03 %s^x01 a fost omorat de^x03 %s^x01 !",get_name( iVictim ), get_name( iKiller ) );
	}
	
	return 0;
	
}


public Ham_ResetMaxSpeedPost(  id  )
{
	if(  is_user_alive(  id  )  &&  is_user_connected( id )  && get_user_maxspeed(id) != 1.0  )
	{
		
		new Float:flMaxSpeed;
		if( UserIsPsycho[ id ] )
		{
			flMaxSpeed  =  float( get_pcvar_num( cvar_speed ) );
		}
		if( UserIsKage[ id ] )
		{
			flMaxSpeed  =  float( get_pcvar_num( cvar_speed2 ) );
		}
		
		if( flMaxSpeed  >  0.0  )
		{
			set_pev(  id,  pev_maxspeed,  flMaxSpeed  );

			// slow hack ? o_O
			//client_cmd(  id,  "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", flMaxSpeed, flMaxSpeed, flMaxSpeed );
		}
	}
}

stock CountPlayers(  const  Team  )
{
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	new iPlayersCount;
	
	get_players( iPlayers, iPlayersNum, "ch" );		
	for( new i = 0 ; i < iPlayersNum ; i++ )
	{
		if( is_user_connected(  iPlayers[  i  ]  ) &&  is_user_alive(  iPlayers[  i  ]  )  )
		{
			
			if( Team  == 1  )
			{
				if( get_user_team(  iPlayers[  i  ]  )  == 1 )
				{
					iPlayersCount++;
				}
			}
			else if(  Team == 2  )
			{
				if( get_user_team(  iPlayers[  i  ]  )  == 2  )
				{
					iPlayersCount++;
				}
			}
		}
		
	}
	
	return iPlayersCount;
	
}

stock GetRemainingPlayerId(  const  Team  )
{
	new iPlayers[ 32 ];
	new iPlayersNum;
	
	new iPlayerId;
	
	get_players( iPlayers, iPlayersNum, "ch" );		
	for( new i = 0 ; i < iPlayersNum ; i++ )
	{
		if( is_user_connected(  iPlayers[  i  ]  )  &&  is_user_alive(  iPlayers[  i  ]  )  )
		{
			
			if( Team  == 1  )
			{
				
				if( get_user_team(  iPlayers[  i  ]  )  == 1  )
				{
					iPlayerId  =  iPlayers[  i  ];
				}
			}
			else if(  Team == 2  )
			{
				
				if( get_user_team(  iPlayers[  i  ]  )  == 2  )
				{
					iPlayerId  =  iPlayers[  i  ];
				}
			}
		}
		
	}
	
	return iPlayerId;
	
}
		
stock get_name( id )
{
	new name[ 32 ];
	get_user_name( id, name, sizeof ( name ) -1 );

	return name;
}

public SuperM249_DMG( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
{
if( iInflictor == iAttacker && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_M249 )
{
	SetHamParamFloat( 4, fDamage * 3.0 );
	return HAM_HANDLED;
}
return HAM_IGNORED;
OveR is offline
 



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

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

Forum Jump


All times are GMT -4. The time now is 16:26.


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