[STANDALONE - ESX - QB] The Complete Vehicle System V2.0 - Park Anywhere, Unique Garages, In-Depth Parts, and many more!

The Complete Vehicle System - Buy Now on Tebex

This resource was created in under a month and was entirely written from scratch. Big props to the authors of PolyZone (meta-hub) and Kiminaze for deformation syncing.

IMPORTANT!

Created 4 versions of the resource. Standalone version, ESX version, QBUS version, and Parts only version after request. When you purchase the resource you receive all 4 copies, with all updates. Made for people who do not know how to code at all, other important thing. Unencrypted big chunks of code after a big rewrite to optimize the hell out of it. Only 8% is encrypted now. :heart:

YOUTUBE TRAILER:

YOUTUBE IN-DEPTH SHOWCASE:

Features:

Expand
  • Server-Sided Spawned Vehicles with Statebags: This ensures all vehicles are synced, in all areas, and cannot be despawned “by mistake”.
  • Park Anywhere: You may park any vehicles anywhere on the map; this gets saved server-side and into the database. It stores values such as (Vehicle Parts, Damages, Deformation, and Metadata)
  • In-Depth Parts: This resource has many parts that have health, few examples would be radiator, engine, catalyst, tyres, oil age, and many more. They wear down depending on your drivestyle. So basically exactly like in real life. This is configurable as well throughout the config. Parts include a special UI as well, and an export function where you can fix each one separately.
  • Crash System: TCVS includes a built-in crash system as well, fully configurable throughout the config. The crash system drowns down parts. This system is divided into two sections (minor crashes and big crashes), so we can take everything into consideration.
  • Impound System: We also offer an impounding system, which is pretty much unbuggable since it is saved as metadata. People with the whitelisted jobs through the config may impound vehicles and set the reason and price there, as well as make sure a policeman needs to be there for the owner of the vehicle to unimpound it. All vehicle damages, and deformation are saved as well.
  • Lock System: This resource has a built-in lock system way better than the regular ones in terms of syncing and usage. Locking the vehicle is saved as metadata, so even if the server restarts, the vehicle will still be locked. You may as well give vehicle keys to up to 5 friends, which will allow them to use the vehicle as well (Saved in the database).
  • Hotwire System: Pretty much a standardized hotwire system; if you do not have the keys to the vehicle, it forces you to hotwire it. The only small addition is that by spamming W, there is a boost effect on how fast the hotwiring process takes; there is a minimal chance that the vehicle might explode while spamming W!
  • Garage System: The whole garage system was pretty much my idea as I didn’t particularly appreciate how garages were functioning normally. Garages are spawned with shells and are handled with PolyZones; you may park however you wish inside and bring as many vehicles you want, as long as the vehicles do actually fit in! You may enter with passengers as well and give garage keys to up to 5 friends.
  • Insurance System: The insurance system was made in case the vehicle explodes or has been stolen by another player. If someone is driving your vehicle, you cannot re-spawn it with the insurance system (To Prevent possible trolls). Currently, the insurance system has a set fee, and if the vehicle was not exploded, the vehicle would arrive in its original condition. It will only come fully healthy if it has exploded.
  • Keep Engine Running: On vehicle exit, the engine is kept on if it was on; this was made basically to make sure you don’t need to re-hotwire the vehicle each time.
  • VIN: We created vehicle vins that are only set once, this was made so players can change license plates on the vehicles, but we will have an actual identification number for vehicles, like in real life. It can be shown seen on Vehicle Info UI.
  • Server-Synced Resource: This resource was quite extensive, so we made sure everything on it would be synced at all times, with the uses of statebags and events.
  • Optimization: With 6000 lines, optimization was taken a lot into consideration. At the moment, this resource runs at 0.01-0.02 ms client side and 0.00-0.01 server side. As for databases, they only get updated on X amount of time (Set from config) and only update vehicles that have actual updates, so we avoid many queries.

Parts Explanation:

Expand
  • Driving Distance: Each vehicle saves driving distance into the server and database, and this was made so we can keep track of how many KM/Miles have been driven with the vehicle. To add a bit more, roleplay has sense with Oil Changes as well.
  • Oil Changing and Temperature: Upon creating the resource, I had the fun idea of adding oil changing, so basically, this calculates your driving distance and your suggested oil change value; if your oil is old, the vehicle has a chance that it can leak oil and overheat quite quickly. You may see oil temperature from the steering wheel in first-person mode as well. Oil temperatures are responsible for vehicle overheating, so possible fires and explosions.
  • Engine: TCVS provides a very complex engine system. Vehicle engine wears down based on vehicle RPM and oil age. The less the Engine HP there is, the slower the vehicle goes; once the engine HP goes below 300 points, you will start seeing smoke effects and have limited speed. Taking Engine HP below 150 will superbly limit your speed and will shut down on high RPM. Once seeing such an effect, you should drive slow, not overheat the vehicle and take it to a mechanic.
  • Gearbox: This resource as well provides a very detailed gearbox system. The gearbox wears down based on how often you shift with your vehicle. Once the gearbox’s HP gets below 300, there is a slight chance the gear can get stuck for a few seconds, and when it goes below 150 HP, it ultimately gets stuck on the first gear.
  • Tires: Tires are pretty straightforward; they go down based on driving distances and crashes—the less the tires HP, the less grip you have on the road. Real effects only come into place below 300 HP, with significantly less grip, and below 150 HP, the tires might pop as well.
  • Brakes: Brakes are pretty straightforward, they wear down based on mileage, and the fewer brakes HP the vehicle has, the less brake force you have. So keep them fresh, or you won’t be able to stop!
  • Axle: The vehicle’s axle may only wear down from crashes; when the axle goes below 300 HP, the steering of the vehicle suddenly becomes very heavy and hard. Below 150 HP, almost impossible to steer properly; staying in a straight line, though, is okay.
  • Battery: The vehicle’s battery is responsible for the radio stations and the vehicle’s headlights. It is based on distance. Once you reach 300 HP on the battery life, there is a small chance the radio station might change, and the headlights might flicker. Below 150 HP, this happens constantly.
  • Radiator & Catalyst: Both radiator and catalyst are responsible for vehicle overheating (Well, in reality, the catalyst isn’t for that, but when it gets stuck, the vehicle overheats a lot, that is what the concept was). Once one of the two gets to 300 HP, the vehicle will start overheating quite rapidly at high RPM. Below 150, the effects are more extensive. Ultimately not being careful will cause the vehicle to catch fire or damage the engine itself.
  • Fuel Tank: The fuel tank may only be damaged by crashing; once it gets below 700 HP, the vehicle will start leaking gas, losing you gas along the way, even if the vehicle is turned off.
  • Suspension: COMING SOON

Optimization:

Expand
  • Optimization: With 6000 lines, optimization was taken a lot into consideration. At the moment, this resource runs at 0.01-0.02 ms client side and 0.00-0.01 server side. As for databases, they only get updated on X amount of time (Set from config) and only update vehicles that have actual updates, so we avoid many queries.

Dependencies & Compatibility:

Expand

Framework Dependencies: none (This can be standalone or work with ANY framework, we already provide ESX and QBUS support on the get go (with Multicharacters as well))

Sql Resource Dependencies: Any SQL System is available, we provide from the get go support for OXMySql, MySQLAsync, GhmattiMySql (That’s already 99% of the all servers)

Resource Dependencies: 1) PolyZones

Locales/Translations: English, changeable through languages.lua

OneSync Compatibility: YES

Non-OneSync Compatibility: NO

Screenshots

Expand









FAQ:

Expand

When are the vehicles spawned? The vehicles are automatically spawned on script start with all metadata. Doesn’t matter if people are connected or not.

Is this an easy to install resource? TCVS is super easy to install, was pretty much made to be PLUG-And-Play. You only need to run the SQL file, setup the config and add the 1 trigger event and 1 export for fixing parts. Full support is given for QBUS and ESX.

Are there any limitations with the resource? At the very moment after heavy testing, no. We have tested this resource with up to 500 vehicles spawned around the map at the same time without any issues.

Can i use it into my existing owned vehicle database table? Yes, but please do message me before doing so, i am able to set it up in around 30 minutes to be working with any existing vehicle database.

How easy is it to fix a part? We took a lot of consideration while building this resource, made it very user-friendly to install and very easy to configure. To fix a part you only need to call our export function which looks like this: exports[‘realisticVehicleSystem’]:fixPart(partName, newHP, respawnVehicle)

Is it easy to embed it with our current vehicle shop? Yes!, we made it super easy for adding vehicles into the database. Once the vehicle is bought you only need to trigger this event and the rest is handled by us TriggerServerEvent(“realisticVehicleSystem:server:addVehicle”, baller2, vector4(coords.x, coords.y, coords.z, heading))

Does TCVS have multicharacter support? Of course fully! We have already made a function where you add you’re piece of code for identifier, you do not need to change. But by defauly it uses the GetPlayerIdentifier() function. We already have an example commented for QBus multicharacter support!

How much of the code is encypted? So basically we encrypted everything regarding syncing. We do allow you to edit many of the client sided luas, so you can have your basic needs.

Can i disable Parts and Crash System? Yes fully, through the config!

TO-DO Updates:

Expand

Vehicle Trackers: Will show to the owner of the vehicle where it is on the map.

NPC Mechanic: The NPC mechanic will be a mechanic which you can call. He will pick your vehicle and take some time fixing it, while again driving back to you. All with animations and such.

Rentable Garages: Add the possibility to not only purchase these garages, but to actually rent them on a weekly basis, if payment is forgotten, all vehicles inside the garage will be impounded

In-Depth Insurance System: Make insurance system work with a percentage of the cost of the vehicle. Example, the vehicle cheetah costed 100k. 10% of it will be the insurance cost when attempting to respawn it. + Make insurance be paid weekly, if you forget, insurance cannot be used, so basically you lose your vehicle. (Changed from config)

In-Depth Part System for Aircrafts and Boats: As the title says, didn’t think about it earlier but i guess this shouldn’t much of my time.

Flatbed Impounding: People with a flatbed can attach the vehicle onto the flatbed and then take it to the impound. (Suggestion by SamBradley)

Information Files (config.lua - README.md):

Expand

GitHub - SpecialStos/TCVSInfo: Informational files that you can read

Changelog:

Expand

v1.0.1:

  1. Fixed some general issues with MySQLAsync
  2. Fixed some typos.
  3. Fixed hasMoney function. (Forgot to add price sending)
  4. Decrypted bunch of code you would need.

v1.0.2:

  1. Fixed hasMoney function again, for some reason sometimes the value was a string.
  2. Added Y button for Engine on/off, Disable from Config.

v1.0.3:

  1. Fixed Hotwire text when someone crashes into you
  2. Added functionality for Drift Tyres. New native for game build 2699.

v1.0.4:

  1. Added full compatibility for both QbCore and ESX, so basically this is a drag and drop resource now.
  2. Added Blip syncing when someone purchases a garage.

v1.0.5:

  1. Fixed minor bugs with commands. You need to update because givegaragekeys won’t work. (I swear building something big, every single small bit of code can break anything, my old gaming company always used to say this to me lol.)
  2. Fixed some SQL queries.
  3. Updates garages.lua,locksystem.lua minor bug.
  4. Added on player loaded event. client/frameworks.lua

v1.0.6:

  1. Removed timer since we are using on player load

v1.0.7:

  1. Added Loading Timers to ensure nothing will bug out server side.
  2. Rewrote code for vehicle plate finder. (Supports spaces in-between the text now.)

v1.0.8:

  1. Changed GetVehicleInDirection() function.
  2. Changed impound,vehiclekeys,givevehiclekeys command. Gets the closest vehicle now, not in direction.
  3. Fixed a weird bug with driving distance not bringing back value of 0.01, but it was bringing back 0.00999
  4. Fixed some CSS (Thanks to iSentrie)
  5. Added some more things into vehicle syncing.
  6. Added on resource restart for the data to come again.
  7. Fixed hotwiring not popping up on second attempt

v1.0.9:

  1. Added vehicle despawning check server-side for QB servers only. If vehicle was despawned by OneSync or some weird script you got, makes sure it’s respawned so vehicles never disappear. (Tested and working)
  2. Fixed an issue with plates having spaces. Some servers worked some not, added a fix
  3. Added 2 methods of getting closest vehicles for locksystem.
  4. Added a new export for getting vehicle data client sided.

v1.1.0:

  1. Added Config.UseParts, to disable/enable parts.
  2. Added a new export exports[‘realisticVehicleSystem’]:giveVehicleKeysExtra(plate), gives temporarily vehicle keys to player with the car with those plates, can be used anywhere.
  3. Fixed some minor bugs, can’t even remember. Coding too much.

v1.1.1:

  1. Added some more vehicle part fixing export and trigger event.
  2. Fixed some minor bugs (getting vehicleID for our table)
  3. Updated README.md

v2.0.0:

  1. Added public garages, impounds, insurance for all types of vehicles
  2. Rewrote very big chunks of the code for optimization for large servers. Supports up to 20k+ vehicles.
  3. Fixed a minor bug in insurance UI.
  4. Added vehicle locksystem for jobs, supports metadata that a vehicle is civilian or job one.
  5. Added support for different kind of shells for private garages.
  6. Fixed globalVehicleID bug.
  7. Unencrypted most of the code, only 5-10% is encrypted now. Everything is accesible and changeable.
  8. Added way more support for developers. (Transfer vehicle events and command. Numerous important exports.)
  9. Made extra keys serversided, in case some player crashes or relogs.
  10. Added option to use our garage systems, it is highly reccomended to use our methods though, or extra code is needed.
    (INFO about v2.0.0) This update should fix any kind of weird issues as people reported, this should be bug-free and way more dev and user-friendly.
Code is accessible 92% of code is accessible (Only spawning and syncing are encrypted - 500 lines encrypted out of 7,000)
Subscription-based No
Lines (approximately) 7000 without the config and languages
Requirements Standalone, read dependencies section
Support Yes, almost 24/7

Check out fully our Tebex store at https://store.voxit.xyz

Take care, peace, best. :heart:

12 Likes

This is really neat and I applaud you for making it standalone!

1 Like

Hey,

thanks a lot for your reply! :heart: Making standalone releases are trully better on my end so we are not dependent on any kind of framework. You just plug it in and there you go!

Only things that i added compatibility with are job checking and money checking depending on your config framework.

Of course people have existing databases with hundreds of vehicles. So a good workaround to suit everyone is making a quick resource which retrieves all vehicles from the current database you’re using and applying them to our database, then impound all of them as of course we do not have any sort of metadata (position most responsible). Planning to get that done in the next 24 hours. Just need to install latest ESX and QBCore to see what the default values are.

Best Regards,
Cisoko

I’‘m an old client here and i’'m very happy with the Cisoko support, there’s a support that i think not everyone does.
We have some problems with ‘‘The Complete Vehicle system’’ but Cisoko all problems fix.
I have 100+(PAID) scripts from CFX but this support is great and respond too fast. :heart:
Thanks.
Regards,
weFF

3 Likes

you can turn off oil changes etc?

Hey there,

i am planning to add a Config option for it today. But you are able to disable it by yourself with a little bit knowledge in coding since you have access into parts.lua. Of course i don’t expect anyone to have that knowledge and i didn’t think people would want to disable partially a few parts so will add options for everything today.

Best Regards,
Cisoko

Hello, here are my suggestions:
[ESX]

  • Add key system taken in meta given with inventory from OX Inventory
  • Added an “ODB” ITEM instead of using the command for mechanics
    – Avoid all /commands and use exports instead, for those who want to avoid their players using /commands
    • Add the possibility that a tow company transports the vehicle from point A to point B to impound the vehicle

TCVS is one of the best scripts I have ever seen everything you need for your garage and your vehicle are in this script,

the support is really great they answered me in less than 20 minutes and they helped me from start to finish I recommend this scripts and even all the scripts of this creator

:heart:

1 Like

Is there a way to only purchase the garage system? I really like that but the rest of the features are infringing on some other features i have

Hey,

Thanks a lot for the suggestions.

  1. So regarding the key system it would be just easier if OX inventory has metadata, to just set the metadata of the keys to the plate of the vehicle. I mean that should be the proper way to do it i would say. I am able to do it for any servers that want this. I know it sounds kind of way to promising for FiveM standards but i do this for all customers to fit their needs, as i know there’s just too many variables to account for. Every server is unique with all the tests and unoptimized things they have. So if you do want for example to have this feature, can do it in around 30. My general updates that include everyone will focus more on being standalone things unless it is very famous or used by the community. Main goal is to make this resource as less as dependent and create a system where everything is linked for no errors and optimization

  2. Great idea, will make exports today for everything, will keep in a config though if you want to use the commands. At the moment we only have 4 exports.

  3. Superb idea, i will include this thing in the next day or two, focussing on trackers at the moment

Thanks a lot for taking the time to read this and thanks for the ideas. :heart:

Best Regards,
Cisoko

really like this, however I use a seperate garage system, key system and etc.

However i really like the in depth parts, crash system, oil changes, park anywhere and the rest that is offered?

Can you turn off the impound/garage system on config?

Been trying to find a good replacement for realistic vehicle damage.

Does the parking system support trailers?

1 Like

Hey,

so after quite some thinking. We can disable the parts, locksystem, and some other things, can’t remember my brain is going 200 miles for the last days haha.

In case you want to use garages you need to use our parking system as well (Park anywhere on the map, and stays there forever unless impounded or exploded). It is crucial as we are using the same techniques.

Regarding incompatibility, i do agree. This is the reason why i didn’t just create 1 thing but many things that are fully linked to provide a fully no-bug free vehicle system.

I hope that covers your thoughts, if you do have any more questions please ask me!

Best Regards,
Cisoko

Hey!

Yes we could disable garages. As for impounding, i would highly suggest using our system because all vehicles are server side spawned. That means if you use your vehicle spawning vehicles can disappear and such. You are able to edit though those parts to meet your server demands, and if you do need help here we are.

If your only goal is to use a in-depth part system, i am already planning to create a separate resource (Can be seen when you purchase this one) in keymasters that only offers the in-depth part system.

Hope i covered you, if not; feel free to reply!

Best Regards,
Cisoko

So the vehicle damage and parts will be released as a separate script?

Yes, so you do not need all the dependencies for it (our system). 2 people already let me know about it. Should be done by today.

1 Like

Well, we wait lol.

1 Like

Could i DM you to discuss an option with the garage? Also just to be clear. i was not disrespecting your work at all! It looks amazing and very detailed!

Hey,

of course! I didn’t take any of the comments as disrespectful :stuck_out_tongue:

I understand people have their own systems that not only they paid for but put time and sweat into them. Just explaining as well kind of straightforward how our system works.

So yeah, feel free to DM me!

Hi when buying vehicles from the dealership, people don’t get the keys. They spawn in the car and have to hot wire

Hey man,

Sorry was sleeping, replied to your ticket. We basically need to add a trigger event.

Best Regards,
Cisoko