mirror of
https://github.com/ND-Framework/ND_Core.git
synced 2026-08-17 05:56:01 +01:00
feat: vehicle metadata
This commit is contained in:
@@ -8,6 +8,7 @@ CREATE TABLE IF NOT EXISTS `nd_vehicles` (
|
|||||||
`stored` INT(11) DEFAULT '1',
|
`stored` INT(11) DEFAULT '1',
|
||||||
`impounded` INT(11) DEFAULT '0',
|
`impounded` INT(11) DEFAULT '0',
|
||||||
`stolen` INT(11) DEFAULT '0',
|
`stolen` INT(11) DEFAULT '0',
|
||||||
|
`metadata` LONGTEXT DEFAULT '[]',
|
||||||
PRIMARY KEY (`id`) USING BTREE,
|
PRIMARY KEY (`id`) USING BTREE,
|
||||||
INDEX `owner` (`owner`) USING BTREE,
|
INDEX `owner` (`owner`) USING BTREE,
|
||||||
CONSTRAINT `vehowner` FOREIGN KEY (`owner`) REFERENCES `nd_characters` (`charid`) ON UPDATE CASCADE ON DELETE CASCADE
|
CONSTRAINT `vehowner` FOREIGN KEY (`owner`) REFERENCES `nd_characters` (`charid`) ON UPDATE CASCADE ON DELETE CASCADE
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ local function getVehicleDatabaseInfo(vehicle)
|
|||||||
stored = stored,
|
stored = stored,
|
||||||
impounded = impounded,
|
impounded = impounded,
|
||||||
stolen = vehicle.stolen == 1,
|
stolen = vehicle.stolen == 1,
|
||||||
available = not impounded and stored
|
available = not impounded and stored,
|
||||||
|
metadata = json.decode(vehicle.metadata) or {}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -79,7 +80,7 @@ function NDCore.getVehicle(entity)
|
|||||||
properties = state.props,
|
properties = state.props,
|
||||||
locked = state.locked,
|
locked = state.locked,
|
||||||
hotwired = state.hotwired,
|
hotwired = state.hotwired,
|
||||||
metadata = state.metadata,
|
metadata = state.metadata or {},
|
||||||
netId = NetworkGetNetworkIdFromEntity(entity)
|
netId = NetworkGetNetworkIdFromEntity(entity)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -145,6 +146,18 @@ function NDCore.getVehicle(entity)
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
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
|
||||||
|
end
|
||||||
|
if not self.id or not self.owner then return end
|
||||||
|
MySQL.query("UPDATE nd_vehicles SET metadata = ? WHERE id = ?", {json.encode(self.metadata), self.id})
|
||||||
|
end
|
||||||
|
|
||||||
if self.id and self.owner then
|
if self.id and self.owner then
|
||||||
spawnedPlayerVehicles[self.id] = self
|
spawnedPlayerVehicles[self.id] = self
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user