Use this stock:
PHP Code:
stock fm_get_aimorigin(index, Float:origin[3])
{
new Float:start[3], Float:view_ofs[3];
pev(index, pev_origin, start);
pev(index, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);
new Float:dest[3];
pev(index, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 9999.0, dest);
xs_vec_add(start, dest, dest);
engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
get_tr2(0, TR_vecEndPos, origin);
return 1;
}
And do like this:
PHP Code:
if((engfunc(EngFunc_PointContents, fAimOrigin) != CONTENTS_SKY) && (engfunc(EngFunc_PointContents, fAimOrigin) != CONTENTS_SOLID))
{
static iEnt;
iEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if(!iEnt)
return 0;
engfunc(EngFunc_SetOrigin, iEnt, fAimOrigin);
static Float:fMaxs[3] = { 16.0, 16.0, 38.0 };
static Float:fMins[3] = { -16.0, -16.0, -38.0 };
engfunc(EngFunc_SetModel, iEnt, "models/model.mdl");
set_pev(iEnt,pev_classname, "classname");
dllfunc(DLLFunc_Spawn, iEnt);
set_pev(iEnt, pev_solid, SOLID_BBOX);
engfunc(EngFunc_SetSize, iEnt, fMins, fMaxs);
}
__________________