Advanced Taxi Job for QBCore FiveM
Ein vollwertiger Taxi-Job mit Level-System, NPC-Missionen, Spieler-Fahrten, Leaderboard, Dispatch-System und mehr.
- Features
- Voraussetzungen
- Installation
- Konfiguration
- Befehle
- Datenbank
- Dateistruktur
- Screenshots
- Changelog
| Feature | Beschreibung |
|---|---|
| NPC-Missionen | Zufällige Abholpunkte & Lieferorte auf der ganzen Map |
| Spieler-Fahrten | Echte Spieler als Passagiere mit Zahlungsanfrage-UI |
| Taxi-Meter | Echtzeit-Fare-Berechnung basierend auf Meilen |
| Fahrzeug-Garage | Level-abhängige Fahrzeugauswahl |
| Dispatch-System | /taxiruf – Spieler können Taxis anfordern |
| Kraftstoff-Warnung | Automatische Warnung bei niedrigem Tankstand |
| Fahrt-Timeout | Automatischer Abbruch bei zu langer Lieferzeit |
| Feature | Beschreibung |
|---|---|
| 25 Level | Vollständiges Fortschrittssystem mit XP |
| XP-Berechnung | Basierend auf Meilen, Fare, Crash-Status & Fahrttyp |
| Level-Fahrzeuge | Neue Fahrzeuge werden mit höherem Level freigeschaltet |
| Progress-UI | F7-Overlay mit Statistiken & Leaderboard |
| Level-Up Animation | Visuelle Rückmeldung beim Aufsteigen |
| Feature | Beschreibung |
|---|---|
| Trinkgeld | 10% Bonus bei unfallfreier Fahrt |
| Management-Modus | Einnahmen an qb-management Society oder direkt als Cash |
| Leaderboard | Top 10 Fahrer nach Gesamtverdienst |
| Trip-Log | Optionale Datenbank-Protokollierung aller Fahrten |
| Feature | Beschreibung |
|---|---|
| Server-Validierung | Alle Client-Daten werden serverseitig geprüft |
| Anti-Spam | Cooldown-System für Zahlungsanfragen |
| Max-Fare-Limit | Konfigurierbare Obergrenzen gegen Abuse |
| Fare-Timeout | Passagier-Rechnung verfällt nach 60 Sekunden |
| Ressource | Link |
|---|---|
qb-core |
qbcore-framework/qb-core |
oxmysql |
overextended/oxmysql |
PolyZone |
mkafrin/PolyZone |
LegacyFuel |
InZidiuZ/LegacyFuel |
qb-menu |
qbcore-framework/qb-menu |
ox_target (optional) |
overextended/ox_target |
qb-bossmenu (optional) |
qbcore-framework/qb-bossmenu |
qb-management (optional) |
Für Management-Modus benötigt |
cd resources/[jobs]
git clone https://github.com/DarkNinja-Lab/qb-taxijobImportiere die import.sql in deine Datenbank:
mysql -u root -p deine_datenbank < import.sqlOder führe die SQL-Datei direkt in deinem Datenbank-Tool (z.B. HeidiSQL, phpMyAdmin) aus.
ensure qb-taxijob
⚠️ Stelle sicher, dass alle Abhängigkeiten vorqb-taxijobgeladen werden.
Füge den Taxi-Job in deiner qb-core/shared/jobs.lua hinzu:
['taxi'] = {
label = 'Taxifahrer',
defaultDuty = false,
offDutyPay = false,
grades = {
['0'] = { name = 'Fahrer', payment = 0 },
['1'] = { name = 'Senior', payment = 0 },
['2'] = { name = 'Dispatcher', payment = 0 },
['3'] = { name = 'Manager', payment = 0 },
['4'] = { name = 'Boss', payment = 0, isboss = true },
},
},In deiner server.cfg:
setr qb_locale "de"Die wichtigsten Einstellungen in config.lua:
Config = {
jobRequired = 'taxi', -- Job-Name
Management = true, -- true = Einnahmen an Society | false = Cash an Fahrer
UseTarget = false, -- ox_target statt PolyZone verwenden
LevelSystem = {
Enabled = true,
MaxLevel = 25,
Xp = {
BasePerTrip = 10, -- Basis XP pro Fahrt
PerMile = 6, -- XP pro Meile
FarePercentToXp = 0.03, -- 3% des Fares als XP
NoCrashBonus = 12, -- Bonus bei unfallfreier Fahrt
PlayerTripMultiplier = 1.25 -- 25% mehr XP für Spieler-Fahrten
},
},
PlayerTrips = {
Enabled = true,
RequirePassengerToStop= true, -- Passagier muss im Auto sitzen
PayAccount = 'cash', -- 'cash' oder 'bank'
MaxFare = 5000,
MinFare = 0,
},
Meter = {
['defaultPrice'] = 125.0, -- Preis pro Meile
['startingPrice'] = 0 -- Startpreis
},
}| Befehl | Beschreibung | Wer |
|---|---|---|
/taxiui |
Progress-UI öffnen/schließen | Taxifahrer |
/taxiruf [Nachricht] |
Taxi anfordern – alle Fahrer werden benachrichtigt | Alle Spieler |
F7 |
Progress-UI Toggle (Shortcut) | Taxifahrer |
E |
Interaktionen (NPC aufnehmen, absetzen, Dienst) | Taxifahrer |
Speichert den Fortschritt jedes Fahrers.
| Spalte | Typ | Beschreibung |
|---|---|---|
id |
INT AUTO_INCREMENT | Primärschlüssel |
citizenid |
VARCHAR(50) | QBCore CitizenID |
level |
INT | Aktuelles Level (1–25) |
xp |
INT | Aktuelle XP |
npc_trips |
INT | Anzahl NPC-Fahrten |
player_trips |
INT | Anzahl Spieler-Fahrten |
earned_total |
INT | Gesamtverdienst in $ |
earned_npc |
INT | Verdienst durch NPC-Fahrten |
earned_player |
INT | Verdienst durch Spieler-Fahrten |
best_trip |
INT | Beste Einzelfahrt in $ |
last_trip_at |
TIMESTAMP | Zeitstempel der letzten Fahrt |
Protokolliert jede einzelne Fahrt. Wird automatisch erkannt wenn die Tabelle existiert.
| Spalte | Typ | Beschreibung |
|---|---|---|
id |
INT AUTO_INCREMENT | Primärschlüssel |
driver_citizenid |
VARCHAR(50) | CitizenID des Fahrers |
passenger_citizenid |
VARCHAR(50) | CitizenID des Passagiers (NULL bei NPC) |
trip_type |
ENUM | 'npc' oder 'player' |
distance_miles |
FLOAT | Gefahrene Meilen |
fare |
INT | Bezahlter Betrag |
xp_gain |
INT | Erhaltene XP |
no_crash |
TINYINT | 1 = unfallfrei |
created_at |
TIMESTAMP | Zeitstempel |
qb-taxijob/
├── client/
│ └── cl_main.lua # Gesamte Client-Logik
├── server/
│ └── sv_main.lua # Gesamte Server-Logik
├── html/
│ ├── meter.html # UI-Struktur
│ ├── meter.css # Styling
│ └── meter.js # UI-Logik
├── locales/
│ └── de.lua # Deutsche Übersetzungen
├── config.lua # Konfiguration
├── fxmanifest.lua # FiveM Manifest
├── import.sql # Datenbank-Setup
└── README.md # Diese Datei
- 🎉 Initiales Release
- ✅ Level-System mit 25 Stufen
- ✅ NPC-Missionen mit zufälligen Locations
- ✅ Spieler-Fahrten mit Zahlungs-UI
- ✅ Echtzeit Taxi-Meter
- ✅ Leaderboard (Top 10)
- ✅ Dispatch-System (
/taxiruf) - ✅ Trinkgeld-System (10% bei unfallfreier Fahrt)
- ✅ NPC-Fahrt-Timeout (180 Sekunden)
- ✅ Fahrzeug-Rückgabe mit Bestätigung
- ✅ Kraftstoff-Warnung
- ✅ Anti-Cheat Server-Validierung
- ✅ Anti-Spam Cooldown für Zahlungsanfragen
Bei Problemen oder Fragen:
- 🌐 Website: dynora.de
- 🐛 Issues: GitHub Issues
Made with ❤️ by DarkNinja-Lab