> For the complete documentation index, see [llms.txt](https://legacy-script.gitbook.io/legacy-script/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://legacy-script.gitbook.io/legacy-script/paid-release/ent510-advanced-garage/installation.md).

# INSTALLATION

**CORRECT INSTALLATION OF THE RESOURCE**

1. INSERT *ENT510 HOUSING* IN THE PATH OF YOUR RESOURCES
2. OPEN **!INSTALLATION!** FOLDER AND INSERT THE ITEM BELOW FOR USING INTERNAL KEYS SYSTEM

{% hint style="info" %}
PATH : *OX\_INVENTORY / DATA / ITEMS.LUA* AND INSERT :
{% endhint %}

```lua
-- Items for ox inventory
	['carkeys'] = {
		label = 'Chiave auto',
		weight = 5,
		stack = true
	},

```

{% hint style="warning" %}
**INSERT THE SQL FILE IN YOUR  DATABASE**&#x20;
{% endhint %}

```lua
-- drop sql 
CREATE TABLE IF NOT EXISTS `owned_vehicles` (
  `owner` varchar(46) DEFAULT NULL,
  `plate` varchar(12) NOT NULL,
  `vehicle` longtext DEFAULT NULL,
  `type` varchar(20) NOT NULL DEFAULT 'car',
  `shared` longtext DEFAULT NULL,
  `stored` tinyint(4) NOT NULL DEFAULT 0,
  `garage` varchar(60) NOT NULL DEFAULT 'GARAGE A',
  `glovebox` longtext DEFAULT NULL,
  `trunk` longtext DEFAULT NULL,
  PRIMARY KEY (`plate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

```

{% hint style="info" %}
EVERYTHING SIMPLY CONFIGURABLE
{% endhint %}

<figure><img src="/files/xjwN9zcQTrMnLyYa13Jp" alt=""><figcaption><p>config.lua</p></figcaption></figure>

```lua
Config.UseRealisticGarages = false
-- Se false, ogni garage avrà accesso a tutti i tuoi veicoli; se true, potrebbe implicare un approccio più realistico in cui i veicoli sono conservati in garage specifici.

Config.UseDifferentNamesOnBlips = true
-- Se true, ogni blip sulla mappa visualizzerà il nome della tabella del garage corrispondente; se false, tutti i blip avranno lo stesso nome.

Config.QuickCallPrice = 1000
-- Imposta il prezzo per una chiamata rapida nel garage, forse una tariffa per i servizi veicoli accelerati.

Config.Account = "money"
-- Specifica il tipo di account utilizzato per le transazioni, come "bank", "money" o "black_money".

Config.ImpoundSeconds = 5
-- Determina il tempo in secondi per l'impound di un veicolo.

Config.UseInternalBilling = true
-- Se true, lo script utilizza il pagamento interno per la restituzione dei veicoli; se false, potrebbe essere utilizzato un sistema di fatturazione esterno.

Config.UseInternalKeySystem = true
-- Se true, è utilizzato un sistema di chiavi; consultare la documentazione per istruzioni sull'integrazione con un sistema di inventario.

Config.KeysItemName = "carkeys"
-- Specifica il nome dell'oggetto utilizzato per aprire e bloccare i veicoli.

Config.LockKey = "U"
-- Imposta il tasto per utilizzare le chiavi per bloccare/sbloccare i veicoli.

Config.ShareVehicleCommand = "shareVehicle"
-- Il comando per condividere un veicolo con un amico o un lavoro.

Config.SharedVehiclesCommand = "sharedVehicles"
-- Il comando per verificare un elenco di veicoli condivisi con te.

Config.ImpoundVehicleCommand = "impound"
-- Comando utilizzato da un lavoro specifico per ritirare un veicolo.

Config.AllVehiclesCommand = "infoveh"
-- Comando per visualizzare statistiche complete di tutti i veicoli posseduti.

Config.GiveKeysCommand = "givekeys"
-- Comando utilizzato per dare le chiavi a un altro giocatore.

Config.Groups = {
    -- Gruppi autorizzati per GiveKeysCommand.
    "admin",
    "mod"
}

```

```lua
Config.UseRealisticGarages = false
-- If false, every garage will have access to all your vehicles; if true, it may imply a more realistic approach where vehicles are stored in specific garages.

Config.UseDifferentNamesOnBlips = true
-- If true, each blip on the map will display the name of the corresponding garage table; if false, all blips will have the same name.

Config.QuickCallPrice = 1000
-- Sets the price for a quick call in the garage, possibly a fee for expedited vehicle services.

Config.Account = "money"
-- Specifies the type of account used for transactions, such as "bank," "money," or "black_money."

Config.ImpoundSeconds = 5
-- Determines the time in seconds for impounding a vehicle.

Config.UseInternalBilling = true
-- If true, the script uses internal payment for de-impounding; if false, an external billing system might be used.

Config.UseInternalKeySystem = true
-- True checks docs and inserts the item OX INVENTORY. If false, a key system may not be used.

Config.KeysItemName = "carkeys"
-- Item for opening and locking the vehicles.

Config.LockKey = "U"
-- Keybind for the keys used to lock/unlock vehicles.

Config.ShareVehicleCommand = "shareVehicle"
-- Share a vehicle with a friend or job.

Config.SharedVehiclesCommand = "sharedVehicles"
-- Check your vehicles shared.

Config.ImpoundVehicleCommand = "impound"
-- Command for Job allowed, impound vehicle.

Config.AllVehiclesCommand = "infoveh"
-- Check all statistics of your vehicles.

Config.GiveKeysCommand = "givekeys"
-- Command for give keys.

Config.Groups = {
    -- Group Allowed For GiveKeysCommand.
    "admin",
    "mod"
}

```

{% hint style="info" %}
GARAGE CONFIGURATION EXAMPLE
{% endhint %}

<figure><img src="/files/V5rkqehdpmHjYWhVVtW1" alt=""><figcaption><p>config.lua</p></figcaption></figure>

```lua

Config.Garages = {
    ["GARAGE A"] = {
        coords = vector4(217.36, -809.76, 29.72, 244.52), -- Coords for open garage
        spawn = vector4(229.8, -799.64, 30.56, 157.72),
        deposit = vector4(229.8, -799.64, 30.56, 157.72),
        type = "normal",          -- types >> "normal", "boat", "aircraft"
        garage_marker = {
            enable       = false, -- if ped enabled disable marker
            type         = 9,     -- 9 probably for marker custom / https://docs.fivem.net/docs/game-references/markers/ check for other markers
            coords       = vector3(217.36, -809.76, 30.72),
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0), -- 90 for marker custom
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = false,
            rotate       = true,
            textureDict  = nil, -- if nil generate a marker default you will choose it by type
            textureName  = nil  -- if nil generate a marker default you will choose it by type
        },
        deposit_marker = {
            enable       = true, -- enabled for deposit
            type         = 9,    -- like the information above
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0),
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = false,
            rotate       = true,
            textureDict  = nil, -- like the information above
            textureName  = nil  -- like the information above
        },
        blip = {
            enable = true, -- blip in map
            type = 50,
            scale = 0.6,
            color = 19,
        },
        ped = {
            enable = true,               -- target wont work if this is not true
            model = "a_m_m_bevhills_01", -- ped model / https://docs.fivem.net/docs/game-references/ped-models/ check for other ped
        }
    },

    ["GARAGE B"] = {
        coords = vector4(-282.0663, -890.5788, 30.0800, 167.7566),
        spawn = vector4(-289.3272, -886.6898, 30.7135, 169.4108),
        deposit = vector4(-296.7344, -885.9092, 30.5645, 167.4886),
        type = "normal", -- types >> "normal", "boat", "aircraft"
        garage_marker = {
            enable       = false,
            type         = 9,
            coords       = vector3(-282.0663, -890.5788, 30.8000),
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0),
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = true,
            rotate       = true,
             textureDict  = nil, -- like the information above
            textureName  = nil  -- like the information above
        },
        deposit_marker = {
            enable       = true,
            type         = 9,
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0),
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = false,
            rotate       = true,
             textureDict  = nil, -- like the information above
            textureName  = nil  -- like the information above
        },
        blip = {
            enable = true,
            type = 50,
            scale = 0.6,
            color = 19,
        },
        ped = {
            enable = true, -- target wont work if this is not true
            model = "a_m_m_bevhills_01",
        }
    },

```

***

```lua
Config.Garages = {
    ["GARAGE A"] = {
        coords = vector4(217.36, -809.76, 29.72, 244.52), -- Coordinate per aprire il garage
        spawn = vector4(229.8, -799.64, 30.56, 157.72),
        deposit = vector4(229.8, -799.64, 30.56, 157.72),
        type = "normal", -- Tipi >> "normal", "boat", "aircraft"
        garage_marker = {
            enable = false, -- Se abilitato, disabilita il marcatore del pedone
            type = 9, -- 9 probabilmente per un marcatore personalizzato / https://docs.fivem.net/docs/game-references/markers/ controlla gli altri marcatori
            coords = vector3(217.36, -809.76, 30.72),
            rot = vector3(0.0, 0.0, 0.0),
            dir = vector3(90.0, 180.0, 0.0), -- 90 per maker personalizzato
            scale = vector3(1.3, 1.3, 1.3),
            color = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera = false,
            rotate = true,
            textureDict = nil, -- Se nil, genera un marker predefinito, lo sceglierai in base al tipo
            textureName = nil -- Se nil, genera un marker predefinito, lo sceglierai in base al tipo
        },
        deposit_marker = {
            enable = true, -- Abilitato per il deposito
            type = 9, -- come le informazioni sopra
            rot = vector3(0.0, 0.0, 0.0),
            dir = vector3(90.0, 180.0, 0.0),
            scale = vector3(1.3, 1.3, 1.3),
            color = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera = false,
            rotate = true,
            textureDict = nil, -- come le informazioni sopra
            textureName = nil -- come le informazioni sopra
        },
        blip = {
            enable = true, -- Blip sulla mappa
            type = 50,
            scale = 0.6,
            color = 19,
        },
        ped = {
            enable = true, -- Il ped non funzionerà se questo non è vero
            model = "a_m_m_bevhills_01", -- Modello del pedone / https://docs.fivem.net/docs/game-references/ped-models/ controlla gli altri pedoni
        }
    },
        -- Altri garage
}
```

{% hint style="info" %}
IMPOUND CONFIGURATION EXAMPLE
{% endhint %}

<pre class="language-lua"><code class="lang-lua"><strong>Config.Impounds = {
</strong>    ["IMPOUND LSPD"] = {
        coords = vector4(451.0985, -1026.4591, 27.5614, 356.9690),
        spawn = vector4(444.3988, -1026.5444, 28.6813, 10.8460),
        job = { "police", "job_name" },
        marker = {
            enable       = false,
            type         = 9,
            coords       = vector3(414.48, -968.72, 28.48),
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0),
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = false,
            rotate       = true,
            textureDict  = nil, -- like the information above
            textureName  = nil  -- like the information above
        },
        blip = {
            enable = true,
            type = 50,
            scale = 0.6,
            color = 26,
        },
        ped = {
            enable = true, -- target wont work if this is not true
            model = "a_m_m_bevhills_01",
        }
    }
}

</code></pre>

***

```lua
Config.Impounds = {
    ["IMPOUND LSPD"] = {
        coords = vector4(451.0985, -1026.4591, 27.5614, 356.9690),
        spawn = vector4(444.3988, -1026.5444, 28.6813, 10.8460),
        job = { "police", "nome_lavoro" },
        marker = {
            enable       = false,
            type         = 9,
            coords       = vector3(414.48, -968.72, 28.48),
            rot          = vector3(0.0, 0.0, 0.0),
            dir          = vector3(90.0, 180.0, 0.0),
            scale        = vector3(1.3, 1.3, 1.3),
            color        = vector4(255, 255, 255, 255),
            bobUpAndDown = false,
            faceCamera   = false,
            rotate       = true,
             textureDict  = nil, -- like the information above
            textureName  = nil  -- like the information above
        },
        blip = {
            enable = true,
            type = 50,
            scale = 0.6,
            color = 26,
        },
        ped = {
            enable = true, -- Il ped non funzionerà se questo non è vero
            model = "a_m_m_bevhills_01",
        }
    }
}

```

{% hint style="info" %} <mark style="color:yellow;">NOTE THAT IT HAS AN ADDITIONAL CONFIGURATION TABLE TO GIVE ACCESS TO SEIZURE AUTHORIZED JOBS</mark>

<pre><code><strong> job = { "police", "nome_lavoro" },
</strong></code></pre>

{% endhint %}
