mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-07-03 08:15:35 +00:00
wip onvehiclereset implemented
This commit is contained in:
parent
8b88127e20
commit
bf4c2d120e
@ -1230,6 +1230,7 @@ impl Server {
|
||||
// }
|
||||
}
|
||||
'd' => {
|
||||
// TODO: Why does this use different code to split out the data?
|
||||
debug!("packet: {:?}", packet);
|
||||
let split_data = packet
|
||||
.data_as_string()
|
||||
@ -1257,7 +1258,19 @@ impl Server {
|
||||
}
|
||||
}
|
||||
'r' => {
|
||||
if packet.data[3] < 48 || packet.data[5] < 48 {
|
||||
return Err(ServerError::BrokenPacket.into());
|
||||
}
|
||||
let client_id = packet.data[3] - 48;
|
||||
let car_id = packet.data[5] - 48;
|
||||
let car_json = String::from_utf8_lossy(&packet.data[7..]).to_string();
|
||||
self.broadcast(Packet::Raw(packet), Some(self.clients[client_idx].id)).await;
|
||||
for plugin in &mut self.plugins {
|
||||
plugin.send_event(PluginBoundPluginEvent::CallEventHandler((
|
||||
ScriptEvent::OnVehicleReset { pid: client_id, vid: car_id, car_data: car_json.clone() },
|
||||
None,
|
||||
))).await;
|
||||
}
|
||||
}
|
||||
't' => {
|
||||
self.broadcast(Packet::Raw(packet), Some(self.clients[client_idx].id))
|
||||
|
@ -260,6 +260,7 @@ impl Backend for BackendLua {
|
||||
ScriptEvent::OnVehicleSpawn { pid, vid, car_data } => ("onVehicleSpawn", vec![Argument::Integer(pid as i64), Argument::Integer(vid as i64), Argument::String(car_data)]),
|
||||
ScriptEvent::OnVehicleEdited { pid, vid, car_data } => ("onVehicleEdited", vec![Argument::Integer(pid as i64), Argument::Integer(vid as i64), Argument::String(car_data)]),
|
||||
ScriptEvent::OnVehicleDeleted { pid, vid } => ("onVehicleDeleted", vec![Argument::Integer(pid as i64), Argument::Integer(vid as i64)]),
|
||||
ScriptEvent::OnVehicleReset { pid, vid, car_data } => ("onVehicleReset", vec![Argument::Integer(pid as i64), Argument::Integer(vid as i64), Argument::String(car_data)]),
|
||||
|
||||
ScriptEvent::OnChatMessage { pid, name, message } => ("onChatMessage", vec![Argument::Integer(pid as i64), Argument::String(name), Argument::String(message)]),
|
||||
};
|
||||
|
@ -88,6 +88,7 @@ pub enum ScriptEvent {
|
||||
OnVehicleSpawn { pid: u8, vid: u8, car_data: String },
|
||||
OnVehicleEdited { pid: u8, vid: u8, car_data: String },
|
||||
OnVehicleDeleted { pid: u8, vid: u8 },
|
||||
OnVehicleReset { pid: u8, vid: u8, car_data: String },
|
||||
|
||||
OnChatMessage { pid: u8, name: String, message: String },
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user