# Bus Transport System (Standalone, NPC)
Ein einfaches, standalone FiveM-Resource, das NPC-Busse auf konfigurierbaren Linien fahren lässt. Haltestellen, Haltezeiten und Fahr-Intervalle sind pro Linie in `config.lua` definierbar. Mehrere Linien werden unterstützt.
## Features
- Mehrere Linien mit eigenem Fahrplan (Intervall in Minuten)
- Konfigurierbare Haltestellen inkl. exaktem Haltepunkt (Koordinaten + Heading)
- Standard-Haltezeit pro Linie sowie individuelle pro Stop
- NPC-Fahrer und Bus-Fahrzeuge
- Endlosschleife oder Endpunkt (loop true/false)
- Begrenzung gleichzeitiger Busse pro Linie (maxBuses)
- Debugmarker und Befehle
## Installation
1. Ordner `bus_transport_system` in deinen Server `resources`-Ordner kopieren.
2. In der `server.cfg` hinzufügen:
ensure bus_transport_system
3. Stops, Intervalle, Geschwindigkeiten usw. in `config.lua` anpassen.
## Konfiguration (config.lua)
Wichtigste Felder pro Linie:
- id: eindeutige ID, z.B. "linie_1"
- label: Anzeigename
- vehicle: Fahrzeugmodell (z.B. bus, coach)
- driverPed: Ped-Modell des Fahrers
- intervalMinutes: Intervall zwischen Bus-Starts
- dwellSeconds: Standard-Haltezeit an Haltestellen
- speedKmh: Zielgeschwindigkeit
- loop: true/false
- maxBuses: maximale gleichzeitige Busse
- spawn: optionaler Startpunkt (vector4), sonst erster Stop
- stops: Liste von Stops (coords=vector3, optional heading und stopTime)
Beispiel:
```
{
id = 'linie_1',
label = 'Linie 1: Innenstadt - Flughafen',
vehicle = 'bus',
driverPed = 's_m_m_gentransport',
intervalMinutes = 5,
dwellSeconds = 10,
speedKmh = 40.0,
loop = true,
maxBuses = 4,
enabled = true,
stops = {
{ coords = vector3(-1035.76, -2731.38, 20.17), heading = 330.0, stopTime = 15 },
{ coords = vector3(-915.42, -2320.11, 13.44), heading = 60.0 },
-- ... weitere Stops
}
}
```
## Befehle
- /bus_start <routeId> – Startet Scheduler für eine Linie
- /bus_stop <routeId> – Stoppt Linie und entfernt aktuelle Busse
- /bus_stop_all – Stoppt alle Linien
- /busdebug – Schaltet Debug-Ausgaben/Marker um
## Hinweise
- Fahrverhalten basiert auf GTA AI und TaskVehicleDriveToCoord. Pfadwahl folgt Straßenlogik, aber nicht 100% Busspuren.
- Falls ein Bus stecken bleibt, greift ein 2-Minuten-Timeout, wodurch er den nächsten Stop anfährt.
Viel Spaß beim Fahren lassen! 🚍