Whats better? Fakemeta or engine?
@Driving to Heaven
Well, I'm not a good script, so try this:
Code:
#include <amxmodx>
#include <engine>
#define PLUGIN "3rd Camera View"
#define VERSION "1.0"
#define AUTHOR ""
new const pl_cm_class[] = "PlayerCamera"
public plugin_init()
{
register_clcmd( "say /cam", "cmdCam" )
register_think(pl_cm_class,"Think_PlayerCamera")
}
public cmdCam(id)
Create_PlayerCamera(id)
Create_PlayerCamera(id)
{
new ent = -1
while ((ent = find_ent_by_class(ent,pl_cm_class)) != 0)
{
if (entity_get_edict(ent,EV_ENT_owner) == id)
{
attach_view(id , ent)
return
}
}
ent = create_entity("info_target")
if( !ent )
return;
entity_set_string(ent, EV_SZ_classname, pl_cm_class)
entity_set_model(ent, "models/w_usp.mdl")
entity_set_byte(ent, EV_INT_solid, SOLID_TRIGGER)
entity_set_int(ent, EV_INT_movetype, MOVETYPE_FLYMISSILE)
entity_set_edict(ent, EV_ENT_owner, id)
entity_set_int(ent,EV_INT_rendermode, kRenderTransTexture)
entity_set_float(ent, EV_FL_renderamt, 0.0 )
attach_view(id,ent)
entity_set_float(ent, EV_FL_nextthink, get_gametime())
}
public Think_PlayerCamera(ent)
{
static owner
owner = entity_get_edict(ent,EV_ENT_owner)
static iButtons;
iButtons = entity_get_int(owner, EV_INT_button)
/* USE E BUTTON REMOVE
if( iButtons & IN_USE || !is_user_alive(owner))
{
attach_view(owner,owner)
remove_entity(ent)
return PLUGIN_CONTINUE;
}
*/
static Float:origin[3], Float:fAngle[3],Float:origin2[3];
entity_get_vector(owner,EV_VEC_origin,origin)
entity_get_vector(owner,EV_VEC_v_angle,fAngle)
origin2[0] = origin[0]
origin2[1] = origin[1]
origin2[2] = origin[2]
static Float:fVBack[3];
angle_vector( fAngle, ANGLEVECTOR_FORWARD, fVBack );
origin[2] += 20.0;
origin[0] += ( -fVBack[0] * 150.0 );
origin[1] += ( -fVBack[1] * 150.0 );
origin[2] += ( -fVBack[2] * 150.0 );
trace_line(owner,origin2,origin,origin)
entity_set_vector(ent,EV_VEC_origin,origin)
entity_get_vector(owner,EV_VEC_velocity,origin2)
entity_set_vector(ent,EV_VEC_velocity,origin2)
entity_set_vector(ent,EV_VEC_angles,fAngle)
entity_set_float(ent, EV_FL_nextthink, get_gametime())
return PLUGIN_CONTINUE;
}
Or this
Code:
public Think_PlayerCamera(ent)
{
/* USE E BUTTON REMOVE
static owner
owner = entity_get_edict(ent,EV_ENT_owner)
static iButtons;
iButtons = entity_get_int(owner, EV_INT_button)
if( iButtons & IN_USE || !is_user_alive(owner))
{
attach_view(owner,owner)
remove_entity(ent)
return PLUGIN_CONTINUE;
}
*/
Tell me if works
__________________