Veteran Member
Join Date: Feb 2007
Location: Tennessee
|
05-12-2009
, 18:49
Re: CS 1.6 Custom 3rd Person View
|
#16
|
Quote:
Originally Posted by ot_207
add this to your code
PHP Code:
// plugin init RegisterHam(Ham_Spawn, "player", "fw_spawn_post", 1)
public fw_spawn_post(id) { if (!is_user_alive) return HAM_IGNORED client_cmd(id, "say /cam") return HAM_IGNORED }
Dont forget to remove the moment when the USE key is checked!
That's all!
|
Why not just modify your original code?
PHP Code:
#include <amxmodx> #include <engine> #include <hamsandwich>
new const pl_cm_class[] = "PlayerCamera"
new g_remove[33]
public plugin_init() { //register_clcmd( "say /cam", "cmdCam" ) RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1) RegisterHam(Ham_Killed, "player", "FwdPlayerDeath", 1) register_think(pl_cm_class,"Think_PlayerCamera") }
public client_disconnect(client) { g_remove[client] = 1 }
public FwdPlayerSpawn(id) { if( is_user_alive(id) ) { Create_PlayerCamera(id) } }
public FwdPlayerDeath(client) { g_remove[client] = 1 }
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) if( g_remove[owner] ) { g_remove[owner] = 0 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; }
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw
I love you exolent!
|
Last edited by Exolent[jNr]; 05-15-2009 at 15:36.
|
|