2026-04-14 15:54:53 +02:00

146 lines
5.3 KiB
Lua

Config = {}
-- =====================
-- ALLGEMEIN
-- =====================
-- Discord Webhook URL für Blackmarket-Logs (leer lassen = deaktiviert)
-- WICHTIG: Niemals die Webhook-URL im öffentlichen Code teilen!
Config.WebhookURL = "https://discordapp.com/api/webhooks/1490122439026540714/F-do1bWGLaO4etCOal4nrjxByDfBaQccqmUwLmlXJkUqaxk-skc93Ib1UljbYPE9KuyI"
-- Interaktionsdistanz zum NPC (in Metern)
Config.InteractionDistance = 2.5
-- Erkennungsdistanz für NPC-Suche (Performance-Optimierung)
Config.CoarseDistance = 50.0
-- =====================
-- BENACHRICHTIGUNGEN
-- =====================
Config.Notification = {
event = 'hex_4_hud:notify', -- Event-Name für Benachrichtigungen
title = 'Schwarzmarkt', -- Standard-Titel
duration = 3000, -- Dauer in ms
}
-- Help-Notify (E-Taste Anzeige)
Config.HelpNotify = {
export = 'hex_4_hud', -- Resource-Name
showFunc = 'ShowHelpNotify', -- exports[export]:showFunc(text, key)
hideFunc = 'HideHelpNotify', -- exports[export]:hideFunc()
}
-- =====================
-- BEZAHLUNG
-- =====================
-- 'money' = Bargeld | 'black_money' = Schwarzgeld | 'both' = Schwarzgeld zuerst, Rest Bargeld
Config.PaymentMethod = 'black_money'
-- =====================
-- NPC
-- =====================
Config.DefaultNpcModel = 's_m_y_dealer_01'
Config.DefaultNpcScenario = 'WORLD_HUMAN_DRUG_DEALER'
-- =====================
-- UI THEME (wird als CSS-Variablen ans Frontend gesendet)
-- =====================
Config.Theme = {
accent = '#dc2626', -- Hauptakzentfarbe (Rot)
accentLight = '#ef4444', -- Helle Akzentfarbe
surfaceBase = 'rgba(10, 10, 14, 0.97)', -- Hintergrundfarbe
gridTileHeight = 160, -- Höhe der Kategorie-Kacheln in Pixel
}
-- =====================
-- STANDORT-SYSTEM
-- =====================
-- 'fixed' = alle Standorte immer aktiv | 'rotating' = zufällige Rotation
Config.LocationMode = 'rotating'
-- Rotation-Einstellungen (nur bei LocationMode = 'rotating')
Config.Rotation = {
maxActive = 1, -- Wie viele Standorte gleichzeitig aktiv
intervalMinutes = 720, -- Rotation alle X Minuten
}
-- Alle möglichen Standorte
-- Bei 'fixed': ALLE sind aktiv | Bei 'rotating': maxActive werden zufällig gewählt
Config.Locations = {
['bm_1'] = {
label = 'Schwarzmarkt',
coords = vector4(720.71, -1148.72, 23.74, 175.47),
npcModel = nil, -- nil = Config.DefaultNpcModel
npcScenario = nil, -- nil = Config.DefaultNpcScenario
},
['bm_2'] = {
label = 'Schwarzmarkt',
coords = vector4(714.67224121094, -695.48962402344, 31.754278182983, 0.17864993214607),
npcModel = nil,
npcScenario = nil,
},
}
-- =====================
-- KATEGORIEN & ITEMS (Grid-Kacheln auf der Startseite)
-- =====================
-- Felder pro Kategorie:
-- id = Eindeutige ID (wird intern für Filter verwendet)
-- label = Anzeigename auf der Kachel
-- icon = Icon-Name (crosshairs, pills, wrench, shield, package)
-- image = Hintergrundbild-URL (Unsplash o.ä., leer = Fallback-Icon + Gradient)
-- color = Rahmen-/Akzentfarbe als Hex (z.B. '#dc2626')
-- gridSize = Breite: 'small' (1 Spalte), 'medium' (2 Spalten), 'large' (volle Breite)
-- height = Individuelle Höhe in Pixel (optional, Standard = Config.Theme.gridTileHeight)
-- items = Array der kaufbaren Items { name, price, limit, label (optional) }
Config.Categories = {
{
id = 'waffen',
label = 'Waffen',
icon = 'crosshairs',
image = 'https://images.unsplash.com/photo-1595590424283-b8f17842773f?w=600&q=80',
color = '#dc2626',
gridSize = 'medium',
items = {
{ name = 'weapon_pistol', price = 15000, limit = 1, label = 'Pistole' },
{ name = 'weapon_knife', price = 2000, limit = 3, label = 'Messer' },
{ name = 'ammo_mg', price = 500, limit = 10, label = 'Munition' },
},
},
{
id = 'drogen',
label = 'Drogen',
icon = 'pills',
image = 'https://images.unsplash.com/photo-1639677425025-e4f43c990156?w=600&q=80',
color = '#a855f7',
gridSize = 'small',
items = {
{ name = 'weed_baggy', price = 200, limit = 20, label = 'Weed Tüte' },
{ name = 'coke_baggy', price = 500, limit = 10, label = 'Koks Tüte' },
{ name = 'meth_baggy', price = 600, limit = 10, label = 'Meth Tüte' },
},
},
{
id = 'werkzeuge',
label = 'Werkzeuge',
icon = 'wrench',
image = 'https://images.unsplash.com/photo-1514443031610-8c063c7a9822?w=600&q=80',
color = '#f97316',
gridSize = 'large',
items = {
{ name = 'lockpick', price = 800, limit = 5, label = 'Dietrich' },
{ name = 'advancedlockpick', price = 2500, limit = 2, label = 'Profi-Dietrich' },
},
},
}
-- =====================
-- KAUFLIMITS
-- =====================
-- 'restart' = Limits reset bei Server-Restart (kein DB nötig)
-- 'daily' = Limits reset täglich um Mitternacht (braucht DB)
-- 'interval' = Limits reset alle X Minuten (kein DB nötig)
Config.LimitResetMode = 'interval'
Config.LimitResetIntervalMinutes = 120 -- Nur bei 'interval' Modus