# 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 %}


---

# Agent Instructions: 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://legacy-script.gitbook.io/legacy-script/paid-release/ent510-advanced-garage/installation.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.
