From e0c4a8419be2231ba0e28726ddef3634f5c8b223 Mon Sep 17 00:00:00 2001 From: NotSomething0 <54156973+NotSomething0@users.noreply.github.com> Date: Sat, 11 May 2024 14:54:57 -0500 Subject: [PATCH] fix(vehicle): set metadata state for vehicle if non-existent - Added debug print for when metadata is storage is skipped --- server/vehicle.lua | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/server/vehicle.lua b/server/vehicle.lua index 1cd7e7f..340bf90 100644 --- a/server/vehicle.lua +++ b/server/vehicle.lua @@ -156,13 +156,22 @@ function NDCore.getVehicle(entity) function self.setMetadata(key, value) self.metadata[key] = value + if DoesEntityExist(entity) then local state = Entity(self.entity).state - local metadata = state.metadata - metadata[key] = value - state.metadata = metadata + + if not state.metadata then + state.metadata = self.metadata + else + state.metadata[key] = value + end end - if not self.id or not self.owner then return end + + if not self.id or not self.owner then + lib.print.debug(('Skipped storing metadata for vehicle %s as it does not have an id/owner associated with it.'):format(self.entity)) + return + end + MySQL.query("UPDATE nd_vehicles SET metadata = ? WHERE id = ?", {json.encode(self.metadata), self.id}) end