Если человек с годмодом то не будет писаться сколько ты выбил дамаг а будет просто мисс по резольверу. А нужно, чтобы он понимал когда дамаг не засчитан и не писал вронг логаСравнить сколько хотел выбить и сколько выбил?
Если человек с годмодом то не будет писаться сколько ты выбил дамаг а будет просто мисс по резольверу. А нужно, чтобы он понимал когда дамаг не засчитан и не писал вронг лога
проверка по player_hurt + сколько должен был выбить и выбил в итоге.Знаю, что как то через m_totalHitsOnServer, расскажите по подробнее как
bool __cdecl hooks::engine::msgfunc_report_hit::fn( c_cs_usr_msg_report_hit& msg ) {
if ( !msg.m_pos_x || !msg.m_pos_y || !msg.m_pos_z || !msg.m_time_stamp )
return original( msg );
const auto shot = shots->get_last_shot( );
if ( !shot )
return original( msg );
shot->m_server_info.m_hit_confirmed = true;
original( msg );
}
c_game_trace trace;
interfaces::m_trace_system->clip_ray_to_entity( ray_t( shot.m_src, shot.m_server_info.m_impact_pos ), MASK_SHOT_PLAYER, shot.m_target.m_player, &trace );
if ( shot.m_server_info.m_damage < 0 ) {
if ( trace.m_hit_entity == shot.m_target.m_player ) {
if ( !shot.m_server_info.m_hit_confirmed ) {
missed_due_to_resolver
}
else {
missed_due_to_damage_rejection
}
}
}
если у человека godmode эвент player_hurt не вызываетсяпроверка по player_hurt + сколько должен был выбить и выбил в итоге.
Ты бы указал, что MASK_SHOT_PLAYER - это MASK_SHOT_HULL | CONTENTS_HITBOXсамый простой способ
/// client.dll -> 55 8B EC 8B 55 08 83 EC 1C F6 42 1C 01
in shot listenerC++:bool __cdecl hooks::engine::msgfunc_report_hit::fn( c_cs_usr_msg_report_hit& msg ) { if ( !msg.m_pos_x || !msg.m_pos_y || !msg.m_pos_z || !msg.m_time_stamp ) return original( msg ); const auto shot = shots->get_last_shot( ); if ( !shot ) return original( msg ); shot->m_server_info.m_hit_confirmed = true; original( msg ); }
если у человека godmode эвент player_hurt не вызываетсяC++:c_game_trace trace; interfaces::m_trace_system->clip_ray_to_entity( ray_t( shot.m_src, shot.m_server_info.m_impact_pos ), MASK_SHOT_PLAYER, shot.m_target.m_player, &trace ); if ( shot.m_server_info.m_damage < 0 ) { if ( trace.m_hit_entity == shot.m_target.m_player ) { if ( !shot.m_server_info.m_hit_confirmed ) { missed_due_to_resolver } else { missed_due_to_damage_rejection } } }
как раз таки вызывается...если у человека godmode эвент player_hurt не вызывается
ну ладнокак раз таки вызывается...
выше ролик доказательство
мне леньТы бы указал, что MASK_SHOT_PLAYER - это MASK_SHOT_HULL | CONTENTS_HITBOX
ну а ваще можно тупо сделать так, m_totalHitsOnClient != m_totalHitsOnServer -> damage_rejectedЗнаю, что как то через m_totalHitsOnServer, расскажите по подробнее как
тогда после одного миса по реджекту, все следующие тоже будут по нему, т.к. они уже не будут равныну а ваще можно тупо сделать так, m_totalHitsOnClient != m_totalHitsOnServer -> damage_rejected
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz