From 5179ac1fdcdb01460bdc280c79553342316e023a Mon Sep 17 00:00:00 2001 From: Tixx <83774803+WiserTixx@users.noreply.github.com> Date: Sun, 20 Oct 2024 15:38:07 +0200 Subject: [PATCH] Paint packet --- src/TServer.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/TServer.cpp b/src/TServer.cpp index f99bbb7..c6b94bb 100644 --- a/src/TServer.cpp +++ b/src/TServer.cpp @@ -436,6 +436,20 @@ void TServer::ParseVehicle(TClient& c, const std::string& Pckt, TNetwork& Networ Network.SendToAll(&c, StringToVector(Packet), false, true); return; } + case 'p': { + beammp_trace(std::string(("got 'Op' packet: '")) + Packet + ("' (") + std::to_string(Packet.size()) + (")")); + auto MaybePidVid = GetPidVid(Data.substr(0, Data.find(':', 1))); + if (MaybePidVid) { + std::tie(PID, VID) = MaybePidVid.value(); + } + + if (PID != -1 && VID != -1 && PID == c.GetID()) { + Data = Data.substr(Data.find('[')); + LuaAPI::MP::Engine->ReportErrors(LuaAPI::MP::Engine->TriggerEvent("onVehiclePaintChanged", "", c.GetID(), VID, Data)); + Network.SendToAll(&c, StringToVector(Packet), false, true); + } + return; + } default: beammp_trace(std::string(("possibly not implemented: '") + Packet + ("' (") + std::to_string(Packet.size()) + (")"))); return;