> For the complete documentation index, see [llms.txt](https://zloma-scripts.gitbook.io/zloma-scripts/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zloma-scripts.gitbook.io/zloma-scripts/zloma_garages-paid/changelog.md).

# Changelog

## v1.0.5

### Garage Transfer — Configurable Fee

* Added `Config.TransferGarageToGarage.fee` — set a money cost for each transfer (default `0` = free)
* Fee is deducted from the player's **bank account** only after a successful transfer
* If the player has insufficient funds, transfer is blocked with an error notification
* Transfer modal now shows the fee amount and a note that it will be deducted from the bank

### Bug Fixes

* Fixed transfer button not appearing on the **first vehicle** when opening the garage UI
* Fixed transfer button randomly becoming greyed-out when switching vehicles (race condition in target fetch)
* Fixed duplicate text in transfer fee modal caused by incorrect locale function call

***

## v1.0.4

### Ghost Vehicle Recovery

* Ghost vehicle recovery now triggers on **garage open** (previously only on impound open)
* Vehicles marked as "out" that no longer exist in the world are automatically moved to impound
* Applies to public, private, and organization garages

### Skeleton Loading UI

* Garage and preview menus now show a skeleton loading animation while vehicle data loads from the server
* Client immediately opens the UI and fetches vehicles in the background — no more blank screen on open

### Admin Panel Improvements

* **Inline delete confirmation** — two-click delete for garages and impounds, no backdrop overlay
* **Template copy on create** — when creating a new garage or impound, choose to start from an existing one as a template
  * Copies all settings except coordinates (location, heading, spawn points, heli spawn points)
  * Name and ID are cleared; a unique name is auto-suggested

### Commands Rework

* `/givecar [playerID] [spawnname?]` — `spawnname` is now optional; detects the admin's current vehicle if omitted
* `/givecartoorg [jobname] [spawnname?]` — reworked to take job name directly; creates a new org vehicle and assigns it to the first org garage for that job

***

## v1.0.3

### Garage-to-Garage Vehicle Transfer

* Players can transfer stored vehicles between compatible garages directly from the **garage UI** or **vehicle info panel**
* Personal vehicles can move between public and private garages the player has access to
* Organization vehicles can move only between garages belonging to the same organization
* Transfer validates ownership, storage status, garage compatibility, and vehicle type
* See [Garage Transfer](https://github.com/ZlomaScripts/zloma_docs/blob/main/zloma_garages/features/garage-transfer.md) for full details and configuration

### External API

* Added external API endpoint: add a vehicle directly to the first available public garage programmatically
* Useful for integrations (vehicle shops, rewards, etc.)

***

## v1.0.2

### Preview Bug Fixes

* Fixed same-vehicle click causing the preview to re-spawn the vehicle
* Fixed vehicle color flickering on preview open when no color properties are saved

***

## v1.0.1

### Organization Garages

* Added **Allow Transfer to Organization** toggle per garage — controls whether players can convert personal vehicles to org vehicles at that garage
* Toggle visible in admin wizard (Step 6 — Type Settings) between "Allow Personal Vehicles" and "Boss Can Manage"
* Server-side enforcement prevents bypassing the toggle
* New DB column `allow_transfer_to_org` (defaults to enabled for backward compatibility)

### Admin Commands

* Added `/givecartoorg [plate] [job]` — assign an existing vehicle from the database to an organization garage
* Added `/givenewcartoorg [spawnname] [job]` — create a brand new vehicle directly as an organization vehicle
* Both commands find the first org garage for the given job and set all org vehicle fields automatically
* Chat suggestions registered for both commands

***

## v1.0.0 — Initial Release

### Garage System

* Private, Public, Organization, and Infinitive garage types
* Multi-vehicle type support (cars, helicopters, boats)
* Universal and location-based public garage modes
* Organization garages with grade restrictions and boss management
* Infinitive garages with configurable vehicle lists and spawn limits

### Impound System

* Personal impound for destroyed/lost vehicles
* Organization impound with shared access
* Police impound with duration, fines, early release, and reason
* Auto-impound on server restart

### Admin Tools

* Full in-game admin panel (`/zlomagarages`)
* 8-step creation wizard for garages and impounds
* Location picker, spawn editor, ped/prop browser
* Edit and delete existing garages/impounds
* Admin commands: `/forceimpound`, `/retrieveimpounded`, `/givecar`

### Vehicle Features

* 3D vehicle preview system with camera controls
* Vehicle nicknames
* Mileage tracking
* Enhanced vehicle properties (save/restore)
* Session-persistent vehicles (optional)
* Smart spawn point collision detection with fallback

### Sharing System

* Share individual vehicles with other players
* Share entire garages
* Time-based access expiration
* Permission controls (impound, org store)

### Fake Plates System

* Temporary visual license plates
* Target-based apply/remove with animation
* Inventory sync (ox, qb, ps, lj, qs)
* Fuel type sync (lc\_fuel)
* Crash-safe recovery
* StateBag multiplayer sync

### Integration

* zloma\_core framework wrapper
* Society payment distribution
* Discord logging (transfers, police impound)
* zloma\_stance support
* Full localization (English, Croatian)

### Customization

* Client hooks (spawn, save, repair, damage check)
* Server hooks (access control, fee calculation, webhooks, multi-job)
* Custom fake plates inventory/fuel sync


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zloma-scripts.gitbook.io/zloma-scripts/zloma_garages-paid/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
