Trucker Job: Ayarlar
Config dosyalarındaki tüm seçenekler; rotalar, araçlar ve teslimat puanından kira, kredi, filo aşınması, NPC işçiler, yetkiler ve Discord loglarına kadar.
İpucu
Değişiklikten sonra sadece kaynağı ensure hype-truckerjob ile yeniden başlat; sunucuyu tamamen yeniden başlatmana gerek yok.
Seçenekler beş dosyaya dağılmıştır. config/server/*.lua sadece sunucuda yüklenir; bu yüzden webhook adresleri ve
kelime listesi oyunculara hiç ulaşmaz.
Süreler seçeneğin adında geçen birimdedir; aksi belirtilmedikçe mesafeler metre, hasar ve yakıt yüzde (0-100), para tam dolar cinsindendir.
Genel
Config.Debug = false
Config.NumberAndDateFormat = "en-US"
Config.DateFormat = "DD/MM/YYYY"
Config.Currency = "USD"
Config.SpeedUnit = "kmh"
Config.DistanceUnit = "km"
Config.PaymentType = "bank"Seçenek
Tür
Deneyim ve seviyeler
Hem oyuncular hem işletmeler her teslimattan XP kazanır. Seviye floor(xp / XPPerLevel) + 1 olarak hesaplanır.
Config.PlayerXPPerLevel = 10000
Config.BusinessXPPerLevel = 30000
Config.ExperienceDetails = {
enable = true,
fixed = 50,
random = { enable = true, min = 10, max = 50 },
}Seçenek
Tür
Rota kuralları
Config.CancelRoute = { enable = true, command = "cancelroute", penalty = 0 }
Config.RouteTimeLimit = { enable = true, baseMinutes = 10, minutesPerKm = 2.5 }
Config.RouteAbandon = { failOnDeath = true, maxDistance = 300.0, graceSeconds = 60 }
Config.RouteAntiCheat = { enable = false, maxTravelSpeed = 45.0, pointRadius = 150.0 }Seçenek
Tür
Ödeme ve puanlama
Bir teslimatın ödemesi rotanın totalPay değerinden hasar kesintisi çıkarılıp puan bonusu eklenerek bulunur. Şoför
bunun komisyonu kadarını alır, kalanı işletme kasasına gider.
Config.DamagePayCut = { enable = true, truckFactor = 1.0, trailerFactor = 0.5, maxPercent = 50 }
Config.DeliveryRating = {
enable = true,
truckDamage = 0.04,
cargoDamage = 0.05,
speedLimit = 130,
overspeedSecondsPerPoint = 45,
maxSpeedPenalty = 2.0,
slowAfter = 0.75,
timePenalty = 1.5,
randomness = 0.75,
bonusPercent = { [1] = 0, [2] = 0, [3] = 0, [4] = 5, [5] = 10 },
}Seçenek
Tür
Görevler
Günlük ve haftalık görevler bir havuzdan seçilir. Herkese aynı görevler gelir ve ödül (PaymentType hesabına para ve
oyuncu XP'si) hedefe ulaşıldığı anda ödenir.
Config.Challenges = {
enable = true,
resetHour = 6,
daily = {
count = 3,
completionBonus = { money = 2500, xp = 100 },
pool = {
{ id = "d-deliveries-3", type = "deliveries", goal = 3, reward = { money = 1500, xp = 50 } },
{ id = "d-fuel-2", type = "deliveries", deliveryType = "Fuel", goal = 2, reward = { money = 2000, xp = 60 } },
{ id = "d-stars-2", type = "stars", minStars = 4, goal = 2, reward = { money = 2000, xp = 70 } },
-- ...
},
},
weekly = {
count = 3,
completionBonus = { money = 15000, xp = 500 },
pool = { --[[ ... ]] },
},
}Seçenek
Tür
| Tip | Hedefin anlamı |
|---|---|
deliveries | Teslimat sayısı (deliveryType varsa sadece o tip) |
earnings | Teslimatlardan kazanılan para |
distance | Teslimatlarda sürülen kilometre |
stars | En az minStars yıldız alan teslimatlar |
no-damage | Hiç hasarsız teslimatlar |
Varsayılan günlük havuzda 9, haftalık havuzda 8 görev vardır.
Animasyonlar
Config.Effects = {
animations = {
boxPickup = { dict = "pickup_object", clip = "pickup_low", duration = 900, flag = 0 },
boxPutDown = { dict = "pickup_object", clip = "putdown_low", duration = 900, flag = 0 },
fillTrailer = { scenario = "PROP_HUMAN_PARKING_METER" },
loadMaterials = { scenario = "WORLD_HUMAN_CLIPBOARD" },
unload = { scenario = "WORLD_HUMAN_CLIPBOARD" },
},
}Her kayıt ya bir animasyondur (dict, clip, duration, flag) ya da bir scenario. Bir kaydı false yaparsan o
an için animasyon oynatılmaz.
Yönetici paneli
Seçenek
Tür
Kira
Her işletme her dönem için kira öder. Fatura, son ödeme tarihinden dueSoonHours saat önce Faturalar sayfasında
görünür ve işletme kasasından ya da oyuncunun bankasından ödenebilir.
Seçenek
Tür
İşletme sahipliği
Sahibin tabletteki Ayarlar sayfasından yapabilecekleri.
Seçenek
Tür
Krediler
Kredi parası işletme kasasına geçer. Araçlara, tamire veya işçilere harcanabilir ama ödenmemiş kısmı kilitli kalır ve
çekilemez. Her intervalDays günde bir taksit faturası kesilir.
Config.Loans = {
enable = true,
intervalDays = 3,
closeAfterOverdue = 3,
maxActiveLoans = 1,
amounts = { 250000, 500000, 750000, 1000000 },
plans = {
{ installments = 4, interest = 5 },
{ installments = 8, interest = 10 },
{ installments = 12, interest = 15 },
{ installments = 20, interest = 25 },
},
}Seçenek
Tür
Ehliyet
Seçenek
Tür
Satılık işletmeler
Satın alınabilen işletmeler. Her kaydın bir NPC'si (oyuncular tableti onun üzerinden target ile açar) ve rota araçları için spawn noktaları olmalı.
Config.BusinessLocations = {
{
businessId = 1,
price = 10000,
ped = {
enable = true,
model = `s_m_m_dockwork_01`,
coords = vec4(1207.43, -3122.66, 4.54, 358.8),
},
blip = { show = true, sprite = 477, color = 5, scale = 0.7 },
locations = {
truckSpawn = vec4(1196.74, -3100.49, 4.98, 359.86),
trailerSpawn = vec4(1189.930298, -3102.080566, 5.956488, 358.058289)
}
},
-- 2 ile 5 arası işletmeler
}Seçenek
Tür
2 ile 5 arası işletmelere spawn noktası ekle
Sadece 1 numaralı işletme locations ile gelir. Diğer dördü satın alınabilir ama truckSpawn ve trailerSpawn
ekleyene kadar rota başlatmak This business has no vehicle spawn location configured hatasıyla başarısız olur.
Bir tır ve dorseye yetecek kadar geniş, boş bir yer seç.
Teslimat tipleri
Tipler ve arayüzdeki renkleri. label, rotalardaki delivery.type ve araçlardaki deliveryTypes ile birebir
aynı olmalı.
Config.DeliveryTypes = {
{ label = "Standard", color = "#94a3b8" },
{ label = "Express", color = "#10b981" },
{ label = "Fragile", color = "#fb7185" },
-- Heavy, Refrigerated, Fuel, Chemical, Liquid, Vehicle, Cargo, Box Cargo, Construction, Agricultural
}Rotalar
Los Santos ve Blaine County'de 34 rota hazır gelir. Her rota işletmede başlar ve biter: tır truckSpawn noktasında
spawn olur, yük location.from noktasında yüklenir, location.to noktasında teslim edilir ve tır geri getirilir.
Rotalar tek bir işletmeye bağlı değildir; businessName sadece tablette görünen müşteri adıdır.
{
id = 5,
title = "Box Cargo Transport",
businessName = "Los Santos Cargo Transport",
description = "Carry the boxes into the truck by hand and deliver them to the distribution center in Vinewood.",
delivery = { type = "Box Cargo", amount = "10" },
location = {
from = {
coords = vec4(501.16, -638.62, 23.85, 260.17),
label = "Warehouse",
spawn = {
isObject = true,
objects = {
hash = `hei_prop_heist_box`,
amount = 10,
coords = vec3(501.16, -638.62, 23.85),
rotate = "left",
perRow = 4,
heading = 260.17,
gap = 1.0
}
}
},
to = { coords = vec4(68.1, 124.19, 78.17, 161.63), label = "Cargo Distribution Center" }
},
totalPay = 4800,
requirements = {
truck = { name = "Mule III", hash = `mule3`, image = "https://docs.fivem.net/vehicles/mule3.webp" },
},
minLevel = 1,
},Seçenek
Tür
Yükleme tipleri
Yükleme tipi, dorse gereksinimine ve location.from içindeki spawn tablosuna göre belirlenir. Dorsesiz rotaların
bir spawn tipi olmalı.
| Dorse | spawn | Şoförün yaptığı |
|---|---|---|
| Yok | isTrailer = true, vehicle = { hash, name } | Alış noktasında bekleyen dorseyi bağlar ve teslim eder |
| Yok | isObject = true, tek bir objects grubu | Kutuları elle kasalı kamyona taşır (Mule, Benson...) |
| Yok | isConstruction = true | İşaretçiye park eder ve kamyonu yükler (damperli, mikser...) |
| Var | yok | İşaretçiye park eder ve dorseyi doldurur (tanker, kapalı dorse...) |
| Var | isObject = true, forklift ve objects listesi | Düz dorseyi forkliftle yükler, en fazla 4 obje |
| Var | isVehicles = true, vehicles listesi | Arabaları araç taşıyıcıya sürer, en fazla 3 araç |
Elle yüklenen kutularda objects tek bir gruptur: hash, amount, coords, heading, perRow, gap ve rotate
("left" veya "right") kutuları sıralar hâlinde dizer. Düz dorsede objects bir { hash, coords, rotation }
listesidir; forklift ise hash, name ve bir spawnCoords listesi içerir (ilk boş yer kullanılır). Araç
taşıyıcıda vehicles bir { hash, coords } listesidir.
Araçlar ve dorseler
İşletme mağazası. Config.Vehicles içindeki ilk kayıt her yeni işletmeye ücretsiz verilir.
Config.Vehicles = {
{
id = 1,
vehicle = { hash = `mule`, name = "Mule", image = "https://docs.fivem.net/vehicles/mule.webp" },
description = "Compact cargo truck suited for small to medium deliveries.",
minLevel = 1,
price = 0,
stats = {
deliveryTypes = { "Standard", "Express" },
capacity = "4,000 kg",
speed = "125 km/h",
category = "Box Truck",
},
},
-- ...
}Seçenek
Tür
| Tırlar (14) | Dorseler (11) |
|---|---|
| Mule, Mule II, Mule III, Benson, Pounder, Rubble, Tip Truck, Tip Truck XL, Mixer, Mixer XL, Phantom, Phantom Custom, Hauler, Packer | Tanker, Trailer, Flatbed Trailer (iki adet), Car Carrier, TV Trailer, TV Trailer XL, Flatbed Trailer II, Flatbed Trailer III, Log Trailer, TR3 Trailer |
Yetkiler
Role göre tablet yetkileri. Sahip her zaman her şeyi yapabilir. Çalışanlar, Çalışanlar sayfasından kendilerine özel yetki verilmediyse rollerinin varsayılanlarını kullanır.
| Yetki | İzin verdiği | Driver | Senior Driver | Manager | Boss |
|---|---|---|---|---|---|
view-dashboard | İstatistik, son işler ve sohbetli gösterge paneli | Evet | Evet | Evet | Evet |
view-vehicles | Araç mağazası | Evet | Evet | Evet | Evet |
view-garage | Araç durumunu gösteren garaj | Evet | Evet | Evet | Evet |
view-routes | Rotaları görme ve başlatma | Evet | Evet | Evet | Evet |
view-dispatch | Sevkiyat kaydı ve canlı takip | Evet | Evet | Evet | Evet |
view-employees | Çalışanlar sayfası | Hayır | Evet | Evet | Evet |
view-npc-workers | NPC işçiler sayfası | Hayır | Hayır | Evet | Evet |
view-invoices | Faturalar sayfası | Hayır | Evet | Evet | Evet |
deposit-balance | İşletme kasasına para yatırma | Hayır | Hayır | Evet | Evet |
withdraw-balance | İşletme kasasından para çekme | Hayır | Hayır | Hayır | Evet |
manage-vehicles | Araç alma, satma, tamir etme ve yakıt doldurma | Hayır | Evet | Evet | Evet |
manage-settings | İşletme adını ve blip rengini değiştirme | Hayır | Evet | Evet | Evet |
manage-employees | Alt rütbedeki çalışanları işe alma ve düzenleme | Hayır | Hayır | Evet | Evet |
fire-employees | Alt rütbedeki çalışanları kovma | Hayır | Hayır | Evet | Evet |
manage-npc-workers | NPC işçi alma ve iş verme | Hayır | Hayır | Evet | Evet |
pay-invoices | Fatura ödeme | Hayır | Hayır | Evet | Evet |
take-loans | İşletme kredisi alma | Hayır | Hayır | Hayır | Evet |
Config.DefaultPermissions = {
["Default"] = { ["view-dashboard"] = false, --[[ tüm yetkiler false ]] },
["Driver"] = { ["view-dashboard"] = true, ["view-vehicles"] = true, --[[ ... ]] },
["Senior Driver"] = { --[[ ... ]] },
["Manager"] = { --[[ ... ]] },
["Boss"] = { --[[ ... ]] },
}Roller sırasıyla Driver, Senior Driver, Manager ve Boss olarak sıralanır. Çalışanlar sadece kendi rollerinin altındaki
rolleri işe alabilir, düzenleyebilir veya kovabilir; Boss sahibe ayrılmıştır. Default, kaydı olmayan bir rol için
yedek settir.
Filo
config/fleet.lua sahip olunan araçların durumunu yönetir. Tırlarda yakıt, hasar ve kilometre; dorselerde hasar ve
kilometre tutulur.
Config.Fleet = {
minFuelToStart = 10,
maxDamageToStart = 50,
refuel = { pricePerPercent = 15, fullTankSeconds = 10 },
repair = { truckPricePerPercent = 40, trailerPricePerPercent = 25, seconds = 10 },
wear = { base = 2.0, perThousandKm = 0.8, max = 10.0, trailerMultiplier = 0.5 },
maxRouteDistanceFactor = 3.0,
npc = { roadFactor = 1.3, fuelPerKm = 1.5, failDamage = 5.0 },
resale = { startRate = 0.90, ratePerThousandKm = 0.05, minRate = 0.10, damagePenalty = 0.0 },
}Seçenek
Tür
Varsayılanlarla 10.000 $'a alınan bir tır 1.000 km sonra 8.500 $'a, 10.000 km sonra 4.000 $'a satılır.
NPC işçiler
config/npc-workers.lua. NPC işçiler işletme kasasıyla işe alınır ve rotaları kendi başlarına sürer. İş sunucuda
simüle edilir: rota mesafesine ve işçinin hızına göre bir süre sürer, sonra güvenilirliğe (kırılgan tiplerde kırılgan
yük yeteneğine de) göre başarılı ya da başarısız olur. Tıpkı bir oyuncu gibi, rota için işletmenin boşta bir tırına ve
dorsesine ihtiyaç duyarlar.
Config.NPCWorkers = {
enable = true,
maxWorkersPerBusiness = 5,
tickInterval = 15,
payoutMultiplier = 0.75,
experienceMultiplier = 0.5,
minutesPerKm = 1.5,
minDurationMinutes = 5,
maxDurationMinutes = 60,
speedDurationMultiplier = { slowest = 1.6, fastest = 0.6 },
maxFailChance = 0.35,
maxFragileFailChance = 0.45,
fragileDeliveryTypes = { "Fragile", "Chemical", "Refrigerated", "Vehicle" },
failPenaltyRate = 0.1,
fireRefundRate = 0.0,
-- leveling, training, wages, skills, workers
}Seçenek
Tür
Seviye, eğitim ve maaş
Seçenek
Tür
Bir işçiyi kovmak ya da işçinin ayrılması onu siler. Tekrar işe alınan işçi temel yetenekleriyle sıfırdan başlar.
Yetenekler ve işçiler
speed, reliability ve fragile yetenek kimlikleri simülasyonda kullanılır; sadece label, description ve
color değiştirilebilir. 10 işçi hazır gelir.
workers = {
{
id = "john_miller",
name = "John Miller",
image = "https://randomuser.me/api/portraits/men/32.jpg",
age = 41,
bio = "Twenty years on the interstate. Not the fastest, but his cargo always arrives.",
level = 1,
minBusinessLevel = 1,
hireCost = 7500,
commissionRate = 15,
skills = { speed = 45, reliability = 80, fragile = 55 },
},
-- ...
},Seçenek
Tür
Küfür filtresi
config/server/bad-words.lua işletme adlarını engeller. Adlar küçük harfe çevrilerek, Türkçe karakterler düz harfe
dönüştürülerek, yaygın leetspeak (0, 1, 3, 4, 5, 7, @, $) geri çevrilerek ve tek tek yazılmış harfler
birleştirilerek kontrol edilir; böylece f u c k ve f.u.c.k da yakalanır.
Seçenek
Tür
İşletme adları ayrıca 3 ile 50 karakter arasında olmalı; kontrol karakteri ve <, >, ~, ^ içeremez.
Discord logları
config/server/discord.lua. Bir webhook'u boş bırakırsan o logları kapatmış olursun.
Config.Discord = {
enable = false,
webhook = "",
username = "Trucker Job",
avatar = "",
footer = "hype-truckerjob",
events = {
["business-purchase"] = { enable = true, webhook = "", color = 5763719 },
["delivery"] = { enable = false, webhook = "", color = 3066993 },
-- ...
},
}Seçenek
Tür
| Olay | Varsayılan | Olay | Varsayılan |
|---|---|---|---|
business-purchase | Açık | role-change | Açık |
deposit | Açık | delivery | Kapalı |
withdraw | Açık | challenge | Kapalı |
vehicle-purchase | Açık | admin | Açık |
vehicle-sell | Açık | loan | Açık |
hire | Açık | business-transfer | Açık |
fire | Açık | business-close | Açık |
resign | Açık |
Tablet logosu
web/dist/logos/your-logo.webp dosyasını sunucu logonla değiştir. Tablet kenar çubuğunda ve yönetici panelinde
görünür.
Diller
Dil ox_lib'den gelir; bu yüzden config yerine server.cfg içinde ayarlanır:
setr ox:locale "tr"en, tr, es, fr, pt, ar, zh, hi ve bn hazır gelir. Ayarlanan dilin dosyası yoksa tablet İngilizceye
döner. Yeni bir dil eklemek için locales/en.json dosyasını kopyala, çevir, dil koduyla kaydet (örneğin de.json) ve
ox:locale değerini o koda ayarla. Aynı dosya tablet metinlerini, bildirimleri ve Discord log metinlerini içerir.