mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2025-07-04 00:36:14 +00:00
wip onvehiclereset implemented
This commit is contained in:
parent
8b88127e20
commit
bf4c2d120e
@ -1230,6 +1230,7 @@ impl Server {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
'd' => {
|
'd' => {
|
||||||
|
// TODO: Why does this use different code to split out the data?
|
||||||
debug!("packet: {:?}", packet);
|
debug!("packet: {:?}", packet);
|
||||||
let split_data = packet
|
let split_data = packet
|
||||||
.data_as_string()
|
.data_as_string()
|
||||||
@ -1257,7 +1258,19 @@ impl Server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
'r' => {
|
'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;
|
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' => {
|
't' => {
|
||||||
self.broadcast(Packet::Raw(packet), Some(self.clients[client_idx].id))
|
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::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::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::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)]),
|
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 },
|
OnVehicleSpawn { pid: u8, vid: u8, car_data: String },
|
||||||
OnVehicleEdited { pid: u8, vid: u8, car_data: String },
|
OnVehicleEdited { pid: u8, vid: u8, car_data: String },
|
||||||
OnVehicleDeleted { pid: u8, vid: u8 },
|
OnVehicleDeleted { pid: u8, vid: u8 },
|
||||||
|
OnVehicleReset { pid: u8, vid: u8, car_data: String },
|
||||||
|
|
||||||
OnChatMessage { pid: u8, name: String, message: String },
|
OnChatMessage { pid: u8, name: String, message: String },
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user