feat(es_extended): add Vehicle Identification Number (VIN) system#1720
Open
Nonanti wants to merge 30 commits intoesx-framework:devfrom
Open
feat(es_extended): add Vehicle Identification Number (VIN) system#1720Nonanti wants to merge 30 commits intoesx-framework:devfrom
Nonanti wants to merge 30 commits intoesx-framework:devfrom
Conversation
This reverts commit 45308f5.
Apparently, passing leading nil values via an export breaks it entirely.
feat: add auto-migrations on startup
…ment-isValid-on-register-command add a new argument on the register command feature
feat(esx_menu_default) Redesign of the menu.
fix(esx_menu_default): remove debug print
…absolute units with vh
feat(esx_menu_dialog) Updates the UI of esx_menu_dialog to match esx_menu_default
…IN) system - Implement VIN generation with real-world standard (17 characters) - Add check digit validation for data integrity - Create database migration script with VIN column and indexes - Extend vehicle class with VIN support (getVIN, getFromVIN methods) - Add VIN-specific exports (GenerateVehicleVIN, ValidateVehicleVIN, DecodeVehicleVIN) - Include comprehensive test suite for VIN functionality - Add optional VIN history tracking for audit purposes - Ensure backward compatibility with existing vehicles - Provide detailed documentation and migration guide This implementation addresses issue esx-framework#1638 by providing a robust VIN system that can be used for vehicle tracking, insurance, and ownership verification.
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces a robust Vehicle Identification Number (VIN) system to the ESX Framework, providing unique identifiers for all vehicles. The implementation follows real-world VIN standards adapted for FiveM use.
Motivation
This addition addresses issue #1638 by implementing a comprehensive VIN system that enables:
Implementation Details
1. VIN Generation Module
1ES XXXXX X Y ZZZZZZ2. Vehicle Class Integration
getVIN(),getFromVIN()3. Database Changes
vincolumn toowned_vehiclestable4. Export Functions
ESX.GenerateVehicleVIN(modelHash?, owner?)- Generate unique VINESX.ValidateVehicleVIN(vin)- Validate VIN format and check digitESX.DecodeVehicleVIN(vin)- Extract information from VINESX.GetExtendedVehicleFromVIN(vin)- Get vehicle by VINTesting
Comprehensive test suite included (
/testvincommand):All tests pass successfully.
Usage Example
Migration
[SQL]/add_vin_support.sqlCALL GenerateVINsForExistingVehicles();Files Changed
server/modules/vin.lua- Core VIN generation and validation moduleserver/classes/vehicle.lua- Extended with VIN supportserver/functions.lua- New VIN-related exportsfxmanifest.lua- Include VIN module[SQL]/add_vin_support.sql- Database migrationtests/test_vin.lua- Comprehensive test suiteVIN_FEATURE_DOCUMENTATION.md- Detailed documentationPR Checklist
Related Issues
Closes #1638