feat: add native mode
- Add native mode - Fix bomb holder search and wrong bomb holder on round starts
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use std::{thread, time::{Duration, Instant}};
|
||||
|
||||
use memflow::{os::Process, mem::MemoryView};
|
||||
use memflow::{mem::MemoryView, os::Process, types::Address};
|
||||
|
||||
use crate::{enums::PlayerType, comms::{EntityData, PlayerData, RadarData, ArcRwlockRadarData, BombData}};
|
||||
|
||||
@@ -19,6 +19,8 @@ pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_
|
||||
// For read timing
|
||||
let mut last_bomb_dropped = false;
|
||||
let mut last_bomb_planted = false;
|
||||
let mut last_freeze_period = false;
|
||||
let mut last_round_start_count = 0u8;
|
||||
let mut last_tick_count = 0;
|
||||
let mut last_big_read = Instant::now();
|
||||
|
||||
@@ -50,12 +52,33 @@ pub async fn run(radar_data: ArcRwlockRadarData, connector: Connector, pcileech_
|
||||
data.update_bomb(&mut ctx);
|
||||
}
|
||||
|
||||
if !data.bomb_dropped && last_bomb_dropped && !data.bomb_planted {
|
||||
if data.bomb_dropped != last_bomb_dropped && !data.bomb_planted {
|
||||
log::debug!("Bomb holder recheck due to bomb drop status");
|
||||
data.recheck_bomb_holder = true;
|
||||
}
|
||||
|
||||
if last_freeze_period != data.freeze_period {
|
||||
log::debug!("Bomb holder recheck due to freeze time");
|
||||
data.recheck_bomb_holder = true;
|
||||
}
|
||||
|
||||
if last_round_start_count != data.round_start_count {
|
||||
log::debug!("Bomb holder recheck due to round start");
|
||||
data.recheck_bomb_holder = true;
|
||||
}
|
||||
|
||||
last_freeze_period = data.freeze_period;
|
||||
last_round_start_count = data.round_start_count;
|
||||
|
||||
if data.recheck_bomb_holder {
|
||||
let pawns = data.players.clone().into_iter().map(|(_, pawn)| pawn).collect();
|
||||
let mut pawns: Vec<Address> = data.players
|
||||
.clone()
|
||||
.into_iter()
|
||||
.map(|(_, pawn)| pawn)
|
||||
.collect();
|
||||
|
||||
pawns.push(data.local_pawn.into());
|
||||
|
||||
data.bomb_holder = ctx.get_c4_holder(pawns, data.entity_list.into());
|
||||
data.recheck_bomb_holder = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user