Необходимо создать обьект вплотную к игроку, сделал так:
и в функции создания обьекта:
Но он все равно застрявал в игроке при повороте игрка на определенный угол, я в конец макроса ENTITY_PLACE_DISTANCE добавил +1, потом +2, но проблема решилась только при +7, я где-то ошибся в расчетах или в чем причина? Тут при установке хуллов ошибка, но в плагине у меня нормально:
Код:
#define ENTITY_PLACE_DISTANCE ((M_SQRT2 * PLAYER_WIDTH) / 2 + ENTITY_WIDTH / 2)
const Float:M_SQRT2 = 1.41421356237309504880
const Float:PLAYER_WIDTH = 32.0
const Float:ENTITY_WIDTH = 32.0
Код:
new Float:player_origin[3], Float:entity_origin[3], Float:angle[3]
pev(player, pev_origin, player_origin)
pev(player, pev_angles, angle)
xs_vec_copy(player_origin, entity_origin)
entity_origin[0] += floatcos(angle[1], degrees) * ENTITY_PLACE_DISTANCE
entity_origin[1] += floatsin(angle[1], degrees) * ENTITY_PLACE_DISTANCE
entity_origin[2] = player_origin[2]
new base = cs_create_entity("func_breakable")
...
new Float:mins[3], Float:maxs[3]
mins[0] = -ENTITY_WIDTH
mins[1] = -ENTITY_WIDTH
mins[2] = 0.0
maxs[0] = ENTITY_WIDTH
maxs[1] = ENTITY_WIDTH
maxs[2] = ENTITY_WIDTH
fm_entity_set_size(base, mins, maxs)
fm_entity_set_origin(base, entity_origin)
set_pev(base, pev_angles, angle)
set_pev(base, pev_solid, SOLID_BBOX)
set_pev(base, pev_movetype, MOVETYPE_TOSS)
4 Янв 2018
Код:
mins[0] = -(SENTRY_WIDTH / 2)
mins[1] = -(SENTRY_WIDTH / 2)
mins[2] = 0.0
maxs[0] = SENTRY_WIDTH / 2
maxs[1] = SENTRY_WIDTH / 2
maxs[2] = SENTRY_WIDTH / 2