Revert "adding vid to the vehicle spawn data"

This reverts commit 3df71e96c5a68e6fb08ce3a908acc3db55c9f632.
This commit is contained in:
Luuk van Oijen 2023-11-27 16:57:04 +01:00
parent 3df71e96c5
commit e68582871d
2 changed files with 25 additions and 38 deletions

View File

@ -18,7 +18,7 @@ pub struct Car {
impl Car { impl Car {
pub fn new(car_json: String) -> Self { pub fn new(car_json: String) -> Self {
Self { Self {
car_json, car_json: car_json,
..Default::default() ..Default::default()
} }

View File

@ -964,9 +964,10 @@ impl Server {
let code = packet.data[1] as char; let code = packet.data[1] as char;
match code { match code {
's' => { 's' => {
let client = &mut self.clients[client_idx];
let mut allowed = true; let mut allowed = true;
if let Some(max_cars) = self.config.general.max_cars { if let Some(max_cars) = self.config.general.max_cars {
if self.clients[client_idx].cars.len() >= max_cars as usize { allowed = false; } if client.cars.len() >= max_cars as usize { allowed = false; }
} }
// trace!("Packet string: `{}`", packet.data_as_string()); // trace!("Packet string: `{}`", packet.data_as_string());
let split_data = packet let split_data = packet
@ -974,21 +975,15 @@ impl Server {
.splitn(3, ':') .splitn(3, ':')
.map(|s| s.to_string()) .map(|s| s.to_string())
.collect::<Vec<String>>(); .collect::<Vec<String>>();
let mut car_json_str = (&split_data.get(2).ok_or(std::fmt::Error)?).to_string(); let car_json_str = &split_data.get(2).ok_or(std::fmt::Error)?;
let car_id = self.clients[client_idx].register_car(Car::new(car_json_str.clone())); // let car_json: serde_json::Value = serde_json::from_str(&car_json_str)?;
let client_id = self.clients[client_idx].get_id(); let car_id = client.register_car(Car::new(car_json_str.to_string()));
if let Ok(mut car_json) = serde_json::from_str::<serde_json::Value>(&car_json_str) { let client_id = client.get_id();
if let Some(map) = car_json.as_object_mut() {
if allowed { if allowed {
map.insert("vid".to_string(), serde_json::Value::Number(serde_json::value::Number::from_f64(car_id as f64).unwrap()));
car_json_str = serde_json::to_string(&car_json).unwrap();
if let Some(car) = self.clients[client_idx].get_car_mut(car_id) {
car.car_json = car_json_str.clone();
}
let packet_data = format!( let packet_data = format!(
"Os:{}:{}:{}-{}:{}", "Os:{}:{}:{}-{}:{}",
self.clients[client_idx].get_roles(), client.get_roles(),
self.clients[client_idx].get_name(), client.get_name(),
client_id, client_id,
car_id, car_id,
car_json_str car_json_str
@ -996,33 +991,25 @@ impl Server {
let response = RawPacket::from_str(&packet_data); let response = RawPacket::from_str(&packet_data);
self.broadcast(Packet::Raw(response), None).await; self.broadcast(Packet::Raw(response), None).await;
info!("Spawned car for client #{}!", client_id); info!("Spawned car for client #{}!", client_id);
}
} else { } else {
allowed = false;
}
} else {
allowed = false;
}
if !allowed {
let packet_data = format!( let packet_data = format!(
"Os:{}:{}:{}-{}:{}", "Os:{}:{}:{}-{}:{}",
self.clients[client_idx].get_roles(), client.get_roles(),
self.clients[client_idx].get_name(), client.get_name(),
client_id, client_id,
car_id, car_id,
car_json_str car_json_str
); );
let response = RawPacket::from_str(&packet_data); let response = RawPacket::from_str(&packet_data);
self.clients[client_idx].write_packet(Packet::Raw(response)).await; client.write_packet(Packet::Raw(response)).await;
let packet_data = format!( let packet_data = format!(
"Od:{}-{}", "Od:{}-{}",
client_id, client_id,
car_id, car_id,
); );
let response = RawPacket::from_str(&packet_data); let response = RawPacket::from_str(&packet_data);
self.clients[client_idx].write_packet(Packet::Raw(response)).await; client.write_packet(Packet::Raw(response)).await;
self.clients[client_idx].unregister_car(car_id); client.unregister_car(car_id);
info!("Blocked spawn for client #{}!", client_id); info!("Blocked spawn for client #{}!", client_id);
} }
} }