> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apex-services.site/llms.txt
> Use this file to discover all available pages before exploring further.

# APEX Solarpark

> Install-and-earn solar panel job with export boosts.

A solar park job for ESX. Players buy panel kits from a shop NPC, install them in 12 pre-defined slots, generate power over time (per-tick kWh), and deliver the produced energy for payout. Four panel tiers with upgrade costs, dirt mechanics, export-country boosts, and a React NUI for park management.

## Features

* 4 panel tiers — Basis, Verbessert, Fortgeschritten, Maximum — each with higher kWh/tick + income/h
* Install / clean / upgrade — panels get dirty, require Reinigungsmittel, upgrade needs Eisen
* Delivery loop — spawn phantom + trailer, drive to 4 configurable sell spots
* 10 export countries with randomized multipliers (1.25x – 2.5x) + 12h boosts at 250 kWh cost
* Shop NPC — panel kits (\$5000) + cleaning supplies
* MySQL persistence — per-player panel state, iron stock, pending income, boost state
* React NUI for park management
* Custom YPT props — 4 clean + 4 dirty solar panel models

## Requirements

<Card title="Required" icon="circle-check">
  `es_extended`, `ox_lib`, `oxmysql`, `ox_inventory`
</Card>

## Installation

1. Drop `apex-solarpark` (and the streamed YPT panel models) into `resources/`
2. `ensure apex-solarpark` — DB tables auto-create

## Configuration

```lua config.lua theme={null}
Solar.TickInterval   = 60        -- seconds
Solar.MaxElectricity = 500
Solar.DegradeChance  = 0.0011
Solar.BoostDuration  = 43200     -- 12h
Solar.BoostCostKwh   = 250
Solar.ExportSlots    = 3
Solar.MaxSlots       = 12
Solar.MaxTier        = 4
Solar.TruckModel     = 'phantom'
Solar.TrailerModel   = 'trailers'
Solar.UpgradeItem    = 'iron'

Solar.Tiers = {
    [1] = { kwhPerCleanTick = 0.010, incomePerHour =  5, upgradeCost = 0    },
    [2] = { kwhPerCleanTick = 0.015, incomePerHour =  8, upgradeCost = 1000 },
    [3] = { kwhPerCleanTick = 0.022, incomePerHour = 14, upgradeCost = 1750 },
    [4] = { kwhPerCleanTick = 0.029, incomePerHour = 21, upgradeCost = 2250 },
}
```

Ships with 12 fixed panel slots and 4 sell spots. Translation table for in-game strings is in `config.lua`.

## Resource info

<Note>
  Code accessible: `config.lua`, `server/*.lua` are in `escrow_ignore`. Approximately 2500 lines of Lua + React UI. German.
</Note>
