←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Odrzucenie ekranu po oberwaniu z Kosy

naXe - zdjęcie naXe 21.09.2011

Tak jak w temacie.
Widziałem plugin który powoduje odrzucenie ekranu, ale po oberwaniu w ramię.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 22.09.2011

sprawdź
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

public plugin_init()
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	register_forward(FM_TraceLine, "fw_Traceline", 1)
}

public fw_Traceline(Float:start[3], Float:end[3], nomonsters, id, trace)
{
	if(!is_user_connected(id))
		return FMRES_IGNORED;
	
	static victim
	victim = get_tr2(trace, TR_pHit);
	
	if(!is_user_connected(victim))
		return FMRES_IGNORED;
	
	new iAttacker = get_user_attacker(victim);
	
	if(!is_user_connected(iAttacker) || get_user_weapon(iAttacker) != CSW_KNIFE)
		return FMRES_IGNORED;
	
	new iHit = get_tr2(trace, TR_iHitgroup);
	
	if (iHit == HIT_LEFTARM || iHit == HIT_RIGHTARM){
		new Float:fPush[3];
		
		fPush[0] = random_float(0.0,100.0)
		fPush[1] = random_float(0.0,100.0)
		fPush[2] = random_float(0.0,100.0)
		
		set_pev(victim,pev_punchangle,fPush)
	}
	
	return FMRES_IGNORED;
}
Odpowiedz

naXe - zdjęcie naXe 22.09.2011

Źle działa :o

Jak naciskam LPM to z odległości odrzuca ekran
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 22.09.2011

#pragma semicolon 0



#include <amxmodx>

#include <amxmisc>

#include <fakemeta>

#include <hamsandwich>



new gMaxClients;



#define IsPlayer(%1) ( 1 <= %1 <= gMaxClients )

#define HasKnife(%1) ( IsPlayer( %1 ) && get_user_weapon( %1 ) == CSW_KNIFE )



#define DMG_KNIFE ( DMG_NEVERGIB | DMG_BULLET )



public plugin_init()

{

	register_plugin( "Knife Push", "1.0.0", "DarkGL" );

	

	RegisterHam( Ham_TakeDamage, "player", "Event_PlayerTakeDamage" );

	gMaxClients = get_maxplayers();

}



public Event_PlayerTakeDamage ( Victim, Inflictor, Attacker, Float:Damage, Damagebits )

{

	if( HasKnife( Attacker ) && ( Damagebits & DMG_KNIFE ) && ( get_user_team(Attacker) == 1 ) ){

		new Float:fPush[3];

		

		fPush[0] = random_float(0.0,100.0)

		fPush[1] = random_float(0.0,100.0)

		fPush[2] = random_float(0.0,100.0)

		

		set_pev(Victim,pev_punchangle,fPush)

	}

	return HAM_IGNORED;

}
Odpowiedz