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

# uniqers-summer

<figure><img src="/files/APpTyLK95Eodd2Rl5td8" alt=""><figcaption></figcaption></figure>

### Installation Guide

**Requirements (dependencies):**

* `ox_lib` — **required** (used for callbacks, context menus, progress bars, and text UI)
* `oxmysql` — **required** if running with a framework (QBCore/ESX/QBox); not needed for Standalone Fun Mode, since no database is used
* One of `qb-core`, `es_extended`, or `qbx_core` — **optional** (omit entirely to run in Standalone Fun Mode)
* `ox_target`, `qb-target`, or `qtarget` — **optional** (a built-in draw-text prompt is used automatically if none are found)
* `ox_inventory` — **optional** (native framework inventory is used automatically if not present)
* `screenshot-basic` — **optional**, only required if you want players to use the in-game selfie profile picture feature
* also you need give a permissions props and vehicles for using event lika a plane jump "titan" also you can change name and props from config example: qb-smallresources blocked titan model so you need to be add whitelist.

**Steps:**

1. Download the resource and drop the folder into your server's `resources` directory.
2. Make sure the folder name matches the resource manifest (do not rename it unless you also update any references).
3. Add the following to your `server.cfg`, **after** your framework, `ox_lib`, and `oxmysql` (if used):

```
   ensure uniqers-summer
```

4. Open `config.lua` and review the settings:
   * `Config.Framework` — leave as `'auto'` for automatic detection, or force `'esx'`, `'qb'`, `'qbox'`, or `'standalone'`.
   * `Config.Notify` — pick your preferred notification system.
   * `Config.NPC.coords` / `Config.Blip` — set where the event hub NPC spawns on your map.
   * `Config.Items` — adjust item names to match your inventory's item definitions.
   * `Config.Milestone.reward` — set your grand prize (money, item, or vehicle).
   * `Config.Daily` — set your daily reset hour and which activities reset daily.
   * `Config.Admin` — set your admin permission groups/ACE and the admin command name.
5. If you're using a framework, make sure `oxmysql` is started and connected — the script will automatically create all required database tables on first start (no SQL file needs to be imported manually).
6. Make sure the item definitions referenced in `Config.Items` and `Config.Shop` (e.g., diving suit, surfboard, shovel, bucket) exist in your inventory/item system — these are framework items, not script-managed items.&#x20;
7.

```
### 1. QBCore / QBox (Standard qb-inventory)
```

````
If you are using the default `qb-inventory` or `lj-inventory`, you need to add these items to your core shared file.

File Path: `qb-core/shared/items.lua`

Lua

```
-- ============================================================================
-- UNIQERS SUMMER — QBCore / QBox item definitions
-- ============================================================================

['diving_suit']   = { name = 'diving_suit',   label = 'Diving Suit',   weight = 1500, type = 'item', image = 'diving_suit.png',   unique = true,  useable = false, shouldClose = true, combinable = nil, description = 'Required for the summer diving event.' },
['surfboard']     = { name = 'surfboard',     label = 'Surfboard',     weight = 3000, type = 'item', image = 'surfboard.png',     unique = true,  useable = false, shouldClose = true, combinable = nil, description = 'Required for the summer surf event.' },
['shovel']        = { name = 'shovel',        label = 'Summer Shovel', weight = 100,  type = 'item', image = 'shovel.png',        unique = false, useable = true,  shouldClose = true, combinable = nil, description = 'A tool for digging sand to build sandcastles.' },
['bucket']        = { name = 'bucket',        label = 'Summer Bucket', weight = 100,  type = 'item', image = 'bucket.png',        unique = false, useable = false, shouldClose = true, combinable = nil, description = 'Used with a shovel to collect sand.' },
['sand']          = { name = 'sand',          label = 'Sand',          weight = 50,   type = 'item', image = 'sand.png',          unique = false, useable = true,  shouldClose = true, combinable = nil, description = 'Grains of sand. Collect 50 to build a sandcastle.' },
['sandcastle']    = { name = 'sandcastle',    label = 'Sandcastle',    weight = 500,  type = 'item', image = 'sandcastle.png',    unique = false, useable = true,  shouldClose = true, combinable = nil, description = 'A beautiful sandcastle ready to be placed.' },
```

### 2. ox\_inventory (ESX, QBCore, QBox)

If you are using `ox_inventory`, you need to define the items in its data file.

File Path: `ox_inventory/data/items.lua`

Lua

```
-- ============================================================================
-- UNIQERS SUMMER — ox_inventory item definitions
-- ============================================================================

['diving_suit'] = {
    label = 'Diving Suit',
    weight = 1500,
    stack = false,
    close = true,
    description = 'Required for the summer diving / treasure hunt event.',
},
['surfboard'] = {
    label = 'Surfboard',
    weight = 3000,
    stack = false,
    close = true,
    description = 'Required for the summer surf event.',
},
['shovel'] = {
    label = 'Summer Shovel',
    weight = 100,
    stack = true,
    close = true,
    description = 'A tool for digging sand to build sandcastles.',
},
['bucket'] = {
    label = 'Summer Bucket',
    weight = 100,
    stack = true,
    close = true,
    description = 'Used with a shovel to collect sand.',
},
['sand'] = {
    label = 'Sand',
    weight = 50,
    stack = true,
    close = true,
    description = 'Grains of sand. Collect 50 to build a sandcastle.',
},
['sandcastle'] = {
    label = 'Sandcastle',
    weight = 500,
    stack = true,
    close = true,
    description = 'A beautiful sandcastle ready to be placed on the beach.',
},
```
````

8\. Start/restart the resource.
9\. Walk up to the event hub NPC and interact with it to open the panel and confirm everything is working.
10\. (Optional) Run the admin command (default `/summeradmin`) as an admin to open the checkpoint editor and fine-tune any checkpoint positions to better match your map edits or preferences.
11\. (Optional) If using the selfie feature, make sure `screenshot-basic` is installed and `Config.Profile.uploadUrl` / `apiToken` point to a valid image upload endpoint.

That's it — the event hub, shop, leaderboard, and all 9 activities will be live and ready for players.

***

Support & Updates:

Encountered a bug or need help configuring a custom framework? Join our community!

## Support & Updates & Questions

<div align="left"><figure><img src="/files/SYjVaCdwzcTypfuAXRYr" alt="https://discord.gg/MyrGhbf9tM" width="128"><figcaption></figcaption></figure></div>

\
<https://discord.gg/MyrGhbf9tM>
