Yapılandırma
config/ klasörü referansı — süreler, fiyatlar, polis, log, NPC bölgeleri.
🌐 English · Configuration
Tüm ayarlar config/ klasöründedir. Oyun mantığına dokunmadan sadece bu
dosyaları düzenleyin. Dosyalar yüklenme sırasına göre numaralıdır.
| Dosya | İçerik |
|---|---|
00_init.lua | Config tablosu (düzenleme gerekmez) |
01_cannabis.lua | Ekim, büyüme, bakım, hasat, minigame süreleri |
02_general.lua | Dil, polis ihbar, log, Discord, menü export |
03_plant_location.lua | Ekim konum kuralları, toprak materyalleri |
04_buyer_npcs.lua | Alıcı NPC bölgeleri, diyalog, pazar, fiyatlar |
01 — Kenevir & yetiştirme
| Ayar | Varsayılan | Açıklama |
|---|---|---|
OnlyOwnerCanHarvestCannabis | true | Sadece eken hasat edebilir (false = herkes) |
PlantCooldownSeconds | 30 | İki ekim arası bekleme (sn) |
PlantStageSeconds | 1800 | Aşama başına süre (30 dk) |
HarvestReadyStage | 4 | Hasat için minimum aşama |
RottenAfterStage | 8 | Bu aşamanın üstü = çürük ürün |
MaintenanceWindowSeconds | 1200 | 2→3 bakım penceresi (20 dk) |
MaintenanceLightBonusSeconds | 720 | Loş ışık pencereyi uzatır (+12 dk) |
MaintenancePesticideBonusSeconds | 900 | Böcek ilacı pencereyi uzatır (+15 dk) |
HarvestDoubleWhenLightAndPesticide | true | Işık + ilaç → 2× ürün |
HarvestPremiumGradeAChancePercent | 30 | A sınıfı bonus şansı (% · 0 = kapalı) |
HarvestMaxDistanceFromPlant | 4.0 | Hasat mesafesi (m) |
CannabisStreamDistance | 250.0 | Prop + target görünürlük mesafesi (perf.) |
HarvestMinigameHoldMs | 2800 | Hasat minigame basılı tutma (ms) |
Bakım ve özel item adları MaintenanceItems, GrowthSensorItem,
PlantPotItem, HarvestPremiumGradeAItem altında — tam liste:
Item'ler.
02 — Genel
Dil
Config.Illegal.Locale = 'tr' -- 'tr' veya 'en'Dil kapsamı (önemli)
Locale, yalnızca L() ile çağrılan bildirimleri çevirir. NPC
diyalogları 04_buyer_npcs.lua içindedir (locale'den bağımsız), NUI/HUD ve
minigame metinleri ise arayüz dosyalarındadır. İngilizce bir sunucu için NPC
metinlerini config'ten çevirmen gerekir.
Polis ihbarı
Config.Illegal.PoliceAlert = {
enabled = true,
mode = 'export', -- 'export' | 'clientRelay' | 'serverEvent' | 'qbPoliceServer'
defaultMessage = 'Şüpheli madde satışı — sivil ihbar',
dispatchResource = 'ps-dispatch',
dispatchExport = 'CustomAlert',
dispatchPassCoords = true,
}| Mod | Ne yapar |
|---|---|
export | Dış dispatch script'in export'unu çağırır (ps-dispatch, cd_dispatch…) |
clientRelay | Bir istemci event'i tetikler (polis tarafı dinler) |
serverEvent | Bir sunucu event'i tetikler |
qbPoliceServer | QBCore'un polis job event'i |
Log & Discord
Config.Illegal.Log = {
enabled = true,
providers = { 'console', 'discord' }, -- 'console' | 'discord' | 'export'
}
Config.Illegal.Discord = {
enabled = true,
webhook = 'https://discord.com/api/webhooks/...', -- kendi webhook'un
botName = 'liveIllegal',
}export provider'ı ile qb-log gibi harici sistemlere yazılır
(Config.Illegal.Log.export).
03 — Ekim konum kuralları
Config.Illegal.PlantLocationChecks = {
blockInVehicle = true, -- araçta ekim yok
blockInWater = true, -- suda ekim yok
blockInInterior = true, -- kapalı alanda ekim yok
blockInAir = true, -- havadayken ekim yok
blockOnRoad = false, -- yolda ekim (true = engelle)
requireSoilGround = false, -- true = sadece toprak listesi
}PlantSoilMaterials, ekime izin verilen GTA zemin materyallerini listeler
(çim, toprak, kum, çakıl, çamur, çalı…). Listede olmayan zemin = ekim kapalı.
04 — Alıcı NPC (black market)
Fiyatlar
Config.Illegal.BuyerNpcs.SellItems = {
cannabis = { label = 'Kenevir', marketPrice = 85 },
cannabis_grade_a = { label = 'A Sınıfı Kenevir', marketPrice = 220 },
cannabis_rotten = { label = 'Çürük Kenevir', marketPrice = 12 },
}Pazar & kota
| Ayar | Varsayılan | Açıklama |
|---|---|---|
Market.payAccount | 'cash' | Ödeme hesabı (cash / bank) |
Market.npcAcceptChance | 65 | Pazarlık kabul şansı (%) |
Market.negotiateBanAfterFails | 3 | Bu kadar başarısızlıktan sonra NPC reddeder |
saleQuotaMin / saleQuotaMax | 2 / 6 | NPC başına tur başı alım miktarı |
saleQuotaResetHours | 6 | Kota yenilenme süresi (saat) |
EarlySellPoliceChance | 90 | "Mal satıyorum" → polis ihbar şansı (%) |
InteractionDistance | 2.8 | NPC etkileşim mesafesi (m) |
Yeni NPC ekleme
Zones[1].spawnPoints içine bir tablo ekle:
{
pedId = 'benzersiz_id', -- her NPC için tekil
model = 'a_m_y_hipster_01',
behavior = 'wander', -- 'wander' | 'drunk_wander'
dialog = { name = 'İsim', role = 'Rol' },
}Yeni bölge ekleme
Config.Illegal.BuyerNpcs.Zones[#Config.Illegal.BuyerNpcs.Zones + 1] = {
id = 'buyer_docks',
center = vector3(0.0, 0.0, 0.0),
zoneRadius = 1000,
spawnPoints = {
{ pedId = 'docks_reis', model = 'g_m_y_lost_01', behavior = 'wander' },
},
}NPC metinleri Türkçe geliyor
DefaultDialog, chatPool, saleQuotaLine, NPC name/role gibi tüm konuşma
metinleri 04_buyer_npcs.lua içindedir ve Locale ile değişmez. Kendi dilin
için bunları buradan düzenle.