Skip to main content

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.

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

Required

es_extended, ox_lib, oxmysql, ox_inventory

Installation

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

Configuration

config.lua
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

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