# v1.1.5

{% hint style="danger" %}
Due to the number of files changed, the developer highly recommends that you perform a full reinstall of the script to ensure everything works smoothly!
{% endhint %}

## Features

* Players are instanced on test drives by default (can be disabled)
* Salesman's name is shown in the "Sales" tab of the dealer management UI (when using direct sale)
* Spawn codes are validated when adding a new vehicle to /dealeradmin
* Option to hide JG Scripts watermark
* Update checker

### Fixes

* Vehicle spawning updated to match Advanced Garages
* Fail-safes to prevent getting stuck on the dreaded "Purchasing..." black screen
* VehicleGeneratePlate will time out if no plate is found + improved code [with new options](https://docs.jgscripts.com/dealerships/plate-format)
* Fix multiple possible exploits where buttons could be spam-clicked or unauthorised events accessed
* Vehicles with no seats can be purchased with crashing (trailers, etc.)
* Vehicle sell prices are no longer based off the global price, and instead the dealer price
* Refresh blips & text UI when job/gang changes
* Prevent game crashing/memory leaks when spam clicking vehicles in showroom
* Prevent players from becoming trapped in showroom (while server is online)
* Fix /directsale breaking when vector4 is used for `openShowroom`
* `client:sell-vehicle:config` now contains `DeleteVehicle()` so you can run custom code before the vehicle entity is deleted
* Purchase vehicle events re-written and now open source
* Fixed webhook incorrectly displaying all vehicles were purchased on finance
* Fixed bug when setting immediate deliveries \[`Config.VehicleOrderTime = 0`]
* Keys are now removed when selling a vehicle
* Remove a significant number of unnecessary SQL queries
* Players are now instanced when entering the showroom
* Fix minor UI bug where tables would have slightly jagged lines

#### Config Changes

```lua
Config.DisplayVehiclesHidePurchasePrompt = false
Config.DisplayVehiclesPurchasePromptDistance = 1
Config.TestDriveNotInBucket = false
```

#### SQL Changes

You **MUST** run the following SQL when you update:

```sql
ALTER TABLE dealership_sales ADD COLUMN seller varchar(255);
```

#### New Locales

```lua
spawnCodeInvalid = "Spawn code invalid"
```

#### Changed Files

* client/cl-admin.lua
* client/cl-blips.lua
* client/cl-display-vehicles.lua
* client/cl-main.lua
* client/cl-purchase.lua
* client/cl-sell-vehicle.lua
* client/cl-showroom.lua
* client/cl-test-drive.lua
* config-cl.lua
* framework/cl-functions.lua
* framework/esx/cl-esx.lua
* framework/main.lua
* framework/qb/cl-qb.lua
* framework/sv-functions.lua
* fxmanifest.lua
* run-esx.sql
* run-qb.sql
* server/sv-admin.lua
* server/sv-direct-sales.lua
* server/sv-employees.lua
* server/sv-finance.lua
* server/sv-main.lua
* server/sv-management.lua
* server/sv-purchase.lua
* server/sv-sell-vehicle.lua
* server/sv-showroom.lua
* server/sv-test-drive.lua
* server/sv-version-check.lua
* web (entire folder)
* locales (translations modified)
