-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
void hooks::run_cmd( ... ) {
// Первым делом нужно m_iTicksAllowedForProcessing установить на 0.
ticks_allowed = 0;
// Нужно сделать резервную копию тикбазы и текущего времени, затем установить тикбазу игрока на tickbase_at_shot - shifted_ticks, также не забудь изменить текущее время. После этого вызовите исходный run_cmd и восстанови значения резервной копии.
auto backup_cur_time = interfaces::globals->m_cur_time;
auto backup_tick_base = player->get_tick_base( );
if ( cmd->m_command == m_shot_command ) {
interfaces::globals->m_cur_time = TICKS_TO_TIME( player->get_tick_base( ) );
player->get_tick_base( ) -= shifted_ticks;
}
// Вызываем оригинал.
original_run_cmd( ... );
// Ресторим кур тайм и тикбейз.
if ( cmd->m_command == m_shot_command ) {
player->get_tick_base( ) = backup_tick_base;
interfaces::globals->m_cur_time = backup_cur_time;
}
}
Последнее редактирование: