|
Senior Member
|

08-02-2009
, 03:51
Rocket smoke trail sometimes don't show
|
#1
|
rocket launch
PHP Code:
public wpn_rocket_shoot(id){ if(g_rocket_clip[id] <= 0) return if(g_rocket_status[id] == rocket_draw) return new Float:start_origin[3], Float:angle[3] pev(id, pev_v_angle, angle) angle[0] *= -1.0 ck_get_user_startpos(id, 24.0, 6.0, 8.0, start_origin) new rocket = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(rocket, pev_angles, angle) set_pev(rocket, pev_origin, start_origin) set_pev(rocket, pev_classname, "rocket_rocket") set_pev(rocket, PROJECT_REFLECT, 0) engfunc(EngFunc_SetModel, rocket, mdl_pj_rocket) new critical = random_num(1,100) if(critical <= g_critical[id] || g_critical_on[id]){ set_pev(rocket, PROJECT_CRITICAL, 1) engfunc(EngFunc_EmitSound, id, CHAN_WEAPON, snd_rocket_shoot_crit, 1.0, ATTN_NORM, 0, PITCH_NORM) if(g_team[id] == TEAM_RED) fm_set_rendering(rocket, kRenderFxGlowShell, 225, 50, 0, kRenderNormal, 128) else fm_set_rendering(rocket, kRenderFxGlowShell, 0, 50, 225, kRenderNormal, 128) } else { set_pev(rocket, PROJECT_CRITICAL, 0) engfunc(EngFunc_EmitSound, id, CHAN_WEAPON, snd_rocket_shoot, 1.0, ATTN_NORM, 0, PITCH_NORM) fm_set_rendering(rocket, kRenderFxGlowShell, 250, 128,0, kRenderNormal, 64) } set_pev(rocket, pev_mins, {-1.0, -1.0, -1.0}) set_pev(rocket, pev_maxs, {1.0, 1.0, 1.0}) set_pev(rocket, pev_solid, SOLID_TRIGGER) set_pev(rocket, pev_movetype, MOVETYPE_FLYMISSILE) set_pev(rocket, pev_owner, id) new Float:velocity[3] velocity_by_aim(id, get_pcvar_num(cvar_rocket_velocity), velocity) set_pev(rocket, pev_velocity, velocity) //Effect ck_get_user_startpos(id, 35.0, 6.0, 8.0, start_origin) FX_Explode(start_origin, spr_rocketlaunch, 6, 30, TE_EXPLFLAG_NOSOUND) ck_get_user_startpos(id, -30.0, 6.0, 8.0, start_origin) FX_Smoke(start_origin) g_rocket_clip[id] -- fm_set_user_anim(id, anim_rocket_shoot) g_rocket_time[id] = get_gametime() FX_UpdateClip(id, CSW_TMP, g_rocket_clip[id]) RegisterHamFromEntity(Ham_Touch, rocket, "fw_Touch_RPGRocket") set_pev(rocket, pev_nextthink, 0.1) RegisterHamFromEntity(Ham_Think, rocket, "fw_Think_RPGRocket") ck_showhud_status(id) }
and rocket think
PHP Code:
public fw_Think_RPGRocket(rocket){ if(!pev_valid(rocket)) return new Float:origin[3] pev(rocket, pev_origin, origin) engfunc(EngFunc_PlaybackEvent, 0, rocket, 26, 0.0, origin, Float:{0.0, 0.0, 0.0}, 5.0, 5.0, 0, 2, 0, 0);//It works well with set_task set_pev(rocket, pev_nextthink, 0.1) }
Sometimes it doesn't show the smoke trail
Last edited by hzqst; 08-02-2009 at 03:58.
|
|