# Installation

We exclusively support qb-core and esx frameworks. While using the script without them is an option, adjustments are required modifying the open-source part of the framework code. If you choose standalone use, please be aware that the Wallet, Music, and Garage apps won't function unless you adapt them accordingly.

## Step 1 - Installing dependences

nPhone relies on one essential dependency: oxmysql. Additionally, for the Music app to function properly, it requires a modified version of xsound. Here are the links to these crucial resources:

{% embed url="<https://github.com/overextended/oxmysql>" %}

{% embed url="<https://github.com/Geloteee/xsound>" %}

## Step 2 - Setting up api keys

To enable the functionality of images, videos, and audio, it is necessary to configure a Cloud Server for file uploads. Below, you will find the path to the API key:

<mark style="color:blue;">nPhone/config/apiKeys\_s.lua</mark>

File uploads can be made throw [Fivemanage](https://fivemanage.com) or [Discord](https://youtu.be/fKksxz2Gdnc), we strongly recommend [Fivemanage](https://fivemanage.com), which provides for free 10GB (+50000 images) of storage, and images are permanently stored.

{% hint style="danger" %}
To use ChatGPT APP, you will have to set up an [OpenAI API Key](https://www.youtube.com/watch?v=aVog4J6nIAU).
{% endhint %}

## Step 3 - Start order

On the server.cfg, you will have to start the resources in this order:

```
ensure oxmysql
ensure xsound

ensure frameworkName
ensure inventoryName
ensure voiceSystemName

ensure nPhone
```

## Step 4 - Creating SQL tables

When we have all set, we can start the script and it will automatically create the SQL tables.

{% hint style="danger" %}
If you don't have the latest version of MariaDB it won't work.
{% endhint %}

{% hint style="info" %}
If you want to install the SQL manually, you can get the SQL file on:\
\
\&#xNAN;*<mark style="color:blue;">nPhone/config/installation/nPhone.sql</mark>*
{% endhint %}

## Finishing - Last steps

If you are using the supported frameworks ([*<mark style="color:orange;">**esx**</mark>*](https://github.com/esx-framework/esx_core) *or* [*<mark style="color:red;">**qbcore**</mark>*](https://github.com/qbcore-framework/qb-core)), the supported voice systems **(**[<mark style="color:orange;">**pma-voice**</mark>](https://github.com/AvarianKnight/pma-voice)**,** [<mark style="color:red;">**mumble-voip**</mark>](https://github.com/FrazzIe/mumble-voip-fivem) **or** [<mark style="color:yellow;">**saltychat**</mark>](https://github.com/v10networkscom/saltychat-fivem)**)** and the supported inventory systems **(**[<mark style="color:orange;">**qb-inventory**</mark>](https://github.com/qbcore-framework/qb-inventory)**,** [<mark style="color:red;">**qs-inventory**</mark>](https://buy.quasar-store.com/package/4770732)**,** [<mark style="color:yellow;">**ps-inventory**</mark>](https://github.com/Project-Sloth/ps-inventory)**,** [<mark style="color:green;">**ox\_inventory**</mark>](https://github.com/overextended/ox_inventory) **or** [<mark style="color:purple;">**lj-inventory**</mark>](https://github.com/loljoshie/lj-inventory)**)**, your installation has been successfully completed. nPhone will automatically detect the framework you are currently using. If you prefer to employ a custom framework, rest assured that our framework code is open source. This allows you the flexibility to modify and tailor it to suit your specific framework requirements. The file paths are as follows:

<table><thead><tr><th width="135">System</th><th>Path</th></tr></thead><tbody><tr><td>Framework</td><td><em><mark style="color:blue;">nPhone/config/frameworks/framework.lua</mark></em></td></tr><tr><td>Voice</td><td><em><mark style="color:blue;">nPhone/config/frameworks/voice.lua</mark></em></td></tr><tr><td>Inventory</td><td><em><mark style="color:blue;">nPhone/config/frameworks/inventory.lua</mark></em></td></tr></tbody></table>


---

# 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://docs.nuvilstore.com/assets/nphone/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.
