-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вот есть проблемка. Написал я простой триггер. И он работает нормально, если бы не но: он стреляет по курицам и заложникам. Где я ошибся? Вот код триггера:
Огромное спасибо человеку под ником rraggerr )
C++:
void legitbot::trigger(c_usercmd* cmd)
{
if (!interfaces::engine->is_connected() && !interfaces::engine->is_in_game())
return;
if (!variables::trigger /*&& !GetAsyncKeyState(variables::trigger_key)*/)
return;
auto local_player = reinterpret_cast<player_t*>(interfaces::entity_list->get_client_entity(interfaces::engine->get_local_player()));
if (!local_player && !local_player->is_alive())
return;
if (local_player->is_flashed())
return;
auto weapon = local_player->active_weapon();
if (!weapon || !weapon->clip1_count())
return;
auto weapon_data = weapon->get_weapon_data();
if (!weapon_data)
return;
auto weapon_type = weapon_data->weapon_type;
if (weapon_type == WEAPONTYPE_C4 || weapon_type == WEAPONTYPE_GRENADE)
return;
vec3_t src, dst, forward, crosshair_forward;
trace_t tr;
ray_t ray;
trace_filter filter;
math::angle_vectors(cmd->viewangles, forward);
forward *= weapon_data->weapon_range;
filter.skip = local_player;
src = local_player->get_eye_pos();
dst = src + forward;
ray.initialize(src, dst);
interfaces::trace_ray->trace_ray(ray, MASK_SHOT, &filter, &tr);
math::angle_vectors(cmd->viewangles, crosshair_forward);
crosshair_forward *= 8000.f;
if (tr.did_hit_world() || !tr.did_hit_non_world_entity())
return;
if (!tr.entity->is_player())
return;
if (local_player->team() == tr.entity->team())
return;
int hitgroup = tr.hitGroup;
if (hitgroup == HITGROUP_HEAD || hitgroup == HITGROUP_CHEST || hitgroup == HITGROUP_STOMACH || hitgroup == HITGROUP_LEFTARM || hitgroup == HITGROUP_RIGHTARM || hitgroup == HITGROUP_LEFTLEG || hitgroup == HITGROUP_RIGHTLEG)
{
if (weapon->next_primary_attack() > interfaces::globals->cur_time)
cmd->buttons &= ~in_attack;
else
cmd->buttons |= in_attack;
}
}
Огромное спасибо человеку под ником rraggerr )
Последнее редактирование: