-
-
Notifications
You must be signed in to change notification settings - Fork 803
feat(es_extended): add Vehicle Identification Number (VIN) system #1720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Nonanti
wants to merge
30
commits into
esx-framework:dev
Choose a base branch
from
Nonanti:feat/vehicle-vin-system
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+6,861
−1,254
Conversation
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
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.
|
|
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