Skip to content

DarkNinja-Lab/qb-taxijob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚕 qb-taxijob

Advanced Taxi Job for QBCore FiveM

FiveM Lua Version License

Ein vollwertiger Taxi-Job mit Level-System, NPC-Missionen, Spieler-Fahrten, Leaderboard, Dispatch-System und mehr.


📋 Inhaltsverzeichnis


✨ Features

🎮 Gameplay

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

📈 Level-System

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

💰 Wirtschaft

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

🔒 Sicherheit

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

📦 Voraussetzungen

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

🚀 Installation

1. Ressource herunterladen

cd resources/[jobs]
git clone https://github.com/DarkNinja-Lab/qb-taxijob

2. Datenbank importieren

Importiere die import.sql in deine Datenbank:

mysql -u root -p deine_datenbank < import.sql

Oder führe die SQL-Datei direkt in deinem Datenbank-Tool (z.B. HeidiSQL, phpMyAdmin) aus.

3. server.cfg anpassen

ensure qb-taxijob

⚠️ Stelle sicher, dass alle Abhängigkeiten vor qb-taxijob geladen werden.

4. Job in QBCore registrieren

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 },
    },
},

5. Sprache einstellen (optional)

In deiner server.cfg:

setr qb_locale "de"

⚙️ Konfiguration

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
    },
}

🎮 Befehle

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

🗄️ Datenbank

Tabellen

taxi_progress

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

taxi_trip_log (optional)

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

📁 Dateistruktur

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

📜 Changelog

v1.0.0

  • 🎉 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

🐛 Support

Bei Problemen oder Fragen:


Made with ❤️ by DarkNinja-Lab

About

🚕 Erweiterter Taxi-Job für QBCore – Levelsystem, NPC-Missionen, Spielerfahrten, Bestenliste, Disposition & mehr

Topics

Resources

Stars

Watchers

Forks

Contributors