Look at the picture.
The model won't be set by SetSize what I've done :/
Model can be angled whatever when I aimed.
I need just angle model by SetSize.
PHP Code:
engfunc(EngFunc_SetSize, went,
Float:{-90.0,-5.0,-150.0},
Float:{90.0,5.0,150.0});
PHP Code:
#include <amxmodx>
#include <fakemeta>
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
#define PLUGIN "XxX"
#define AUTHOR "xbatista"
#define VERSION "0.1"
new g_maxplayers
new g_Classname1[] = "wall_brekeable"
new WallModel[] = "models/wall.mdl"
public plugin_precache()
{
precache_model(WallModel)
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("+wall", "wall")
g_maxplayers = get_maxplayers()
register_logevent("logevent_round_end", 2, "1=Round_End")
// register_forward(FM_Touch,"ForwardTouch")
}
public wall(id)
{
new target, body;
get_user_aiming ( id, target, body );
if ( 1 <= target <= g_maxplayers )
{
new s_Name[ 32 ];
get_user_name ( target, s_Name, charsmax ( target ) );
return PLUGIN_HANDLED;
}
new went = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,"func_wall"))
new Float:fVecAngle[3];
new vecAim[3];
get_user_origin(id, vecAim, 3) //where the player is aiming
new Float:fOrigin[3];
IVecFVec(vecAim, fOrigin);
set_pev(went, pev_origin, fOrigin);
pev(id, pev_angles, fVecAngle)
fVecAngle[0] = 0.0
if (fVecAngle[1] < 0.0)
{
fVecAngle[1] *= (-1.0)
}
set_pev(went, pev_classname, g_Classname1)
engfunc(EngFunc_SetModel, went, WallModel)
set_pev(went, pev_angles, fVecAngle)
set_pev(went, pev_solid, SOLID_BBOX)
set_pev(went, pev_health, 500.0)
set_pev(went, pev_takedamage, DAMAGE_YES)
if ( ( (fVecAngle[1] >= 45.0) && (fVecAngle[1] <= 135.0) ) )
{
fVecAngle[1] = 90.0;
engfunc(EngFunc_SetSize, went,
Float:{-90.0,-5.0,-150.0},
Float:{90.0,5.0,150.0});
}
else
{
fVecAngle[1] = 0.0;
engfunc(EngFunc_SetSize, went,
Float:{-5.0,-90.0,-150.0},
Float:{5.0,90.0,150.0});
}
return PLUGIN_CONTINUE;
}
public logevent_round_end(id)
{
new went = -1;
while( ( went = fm_find_ent_by_class ( went, g_Classname1 ) ) )
fm_remove_entity( went );
}
//public ForwardTouch(Ptd,Ptr)
//{
// if(!pev_valid(Ptd))
// return FMRES_IGNORED;
//
// new Classname[33]
// pev(Ptd,pev_classname,Classname,32)
//
// if(!equal(Classname,g_Classname1))
// return FMRES_IGNORED;
//
// return FMRES_IGNORED;
//}
Sorry for bad eng.