View Single Post
MrPower
Member
Join Date: Feb 2016
Old 04-08-2024 , 14:32   Re: Cerere Plugins Furien
Reply With Quote #11

I found this plugin, if you can tell me the others above

Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
#include <engine>
#include <fun>

#define PLUGIN_NAME "baza_alien"
#define PLUGIN_AUTHOR "author"
#define PLUGIN_VERSION "1.0"

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

#define ALIEN_TEAM	CS_TEAM_T

#define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

new Float: Wallorigin[33][3];

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

new cvar_start_alien_hp;
new cvar_start_alien_ap;

new cvar_start_alien_gravity;
new cvar_start_alien_speed;
new cvar_start_alien_damage;

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public plugin_init() 
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
	//Cvars Alien
	cvar_start_alien_hp = register_cvar("alien_hp","300");	//Seteaza HP maxim pe care il poate avea Alien (default "500")
	cvar_start_alien_ap = register_cvar("alien_ap","150");	//Seteaza AP maxim pe care il poate avea Alien (default "500")
	cvar_start_alien_gravity = register_cvar("alien_gravity","0.375");	//Seteaza Gravity maxim pe care il poate avea Alien (default "1.0")
	cvar_start_alien_speed = register_cvar("alien_speed","900.0");	//Seteaza Speed maxim pe care il poate avea Alien (default "2.0")	
	cvar_start_alien_damage = register_cvar("alien_damage", "3.0");	//Seteaza Damage maxim pe care il poate avea Alien (default "10.0")
	
	RegisterHam(Ham_TakeDamage, "player", "Fw_TakeDamage" );
	
	RegisterHam(Ham_Spawn, "player", "Player_Spawn_Post", 1);
	
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1);
	
	RegisterHam(Ham_Touch, "player", "fw_PlayerTouch", 1);
	
	register_forward(FM_PlayerPostThink, "fw_PlayerPostThink");
	
}

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/


/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public Player_Spawn_Post( id )
{
	if( is_user_alive(id) )
	{
		if(cs_get_user_team(id) == ALIEN_TEAM )
		{
			set_user_gravity( id, get_pcvar_float( cvar_start_alien_gravity ) );
			
			set_user_health( id, get_pcvar_num( cvar_start_alien_hp ) );
			set_user_armor( id, get_pcvar_num( cvar_start_alien_ap ) );

			set_user_footsteps(id, 1)
		}
		
		else
		{
			set_user_footsteps(id, 0)
			set_user_gravity(id, 1.0)
		}	
	}
}

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public Fw_TakeDamage( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )
{
	if( iInflictor == iAttacker && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == ALIEN_TEAM )
	{
		SetHamParamFloat( 4, fDamage * get_pcvar_float( cvar_start_alien_damage ) );
		return HAM_HANDLED;
	}
	
	return HAM_IGNORED;
} 

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public Player_ResetMaxSpeed( id )
{
	if( is_user_alive(id) && cs_get_user_team(id) == ALIEN_TEAM && get_user_maxspeed(id) != 1.0 )
	{
		set_pev( id, pev_maxspeed, get_pcvar_float( cvar_start_alien_speed ) )
	}
}

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public fw_PlayerTouch(id, world)
{
	if( is_user_alive(id) && ALIEN_TEAM )
	{    
		new ClassName[32];
		pev(world, pev_classname, ClassName,(32-1));
		
		if(equal(ClassName, "worldspawn") || equal(ClassName, "func_wall") || equal(ClassName, "func_breakable"))
			pev(id, pev_origin, Wallorigin[id]);
	}
	
	return HAM_SUPERCEDE;
}

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/

public fw_PlayerPostThink(id)
{
	if( is_user_alive(id) && ALIEN_TEAM )
	{
		static Float:Origin[3];
		pev(id, pev_origin, Origin);
		
		static Button;
		Button = pev(id, pev_button);
		
		if(get_distance_f(Origin, Wallorigin[id]) <= 5.0 && !(pev(id, pev_flags) & FL_ONGROUND))
		{
			
			
			new Float:Velocity[3];
			new ClimbSpeed = floatround(pev(id, pev_maxspeed) / 2.0);
			if(Button & IN_FORWARD)
			{
				velocity_by_aim(id, ClimbSpeed, Velocity);
				fm_set_user_velocity(id, Velocity);
			}
			
			else if(Button & IN_BACK)
			{
				velocity_by_aim(id, - ClimbSpeed, Velocity);
				fm_set_user_velocity(id, Velocity);
			}
			
			else
			{
				set_pev(id, pev_origin, Wallorigin[id]);
				velocity_by_aim(id, 0, Velocity);
				fm_set_user_velocity(id, Velocity);
			}
		}
	}
}  

/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
MrPower is offline