Wie man einen Auftrag erstellt (QBCore Framework)

QBCore Jobs

Willkommen bei dieser ausführlichen Anleitung zur Erstellung eines benutzerdefinierten Auftrags in QBCore, dem für FiveM-Rollenspielserver weit verbreiteten Framework. Diese Anleitung führt dich durch den Prozess des Hinzufügens eines neuen Jobs über shared.lua, die Festlegung von Löhnen und die Konfiguration von arbeitsplatzspezifischen Berechtigungen und Aufgaben.



Einführung

Das Erstellen von benutzerdefinierten Jobs verbessert das Rollenspielerlebnis, indem es den Spielern einzigartige Rollen und Verantwortlichkeiten gibt. Egal, ob Sie einen neuen Dienst, eine Strafverfolgungsabteilung oder einen anderen Beruf einführen, dieser Leitfaden wird Ihnen helfen, ihn nahtlos in Ihren QBCore-Server zu integrieren.

Verstehen von Jobs in QBCore

In QBCore werden Aufträge in einer gemeinsamen Konfigurationsdatei definiert, auf die sowohl der Server als auch der Client Zugriff haben. Jeder Auftrag hat Attribute wie Name, Bezeichnung, Standarddienststatus, Dienstgrade und mehr. Das Verständnis dieser Attribute ist für die Erstellung funktionaler und ausgewogener Aufträge unerlässlich.

Erstellen eines neuen Jobs in shared.lua

Auffinden der shared.lua Datei

Die shared.lua Datei enthält die Definitionen für alle Aufträge. Sie finden sie im folgenden Verzeichnis:

[qb] > qb-core > shared > jobs.lua

Anmerkung: In einigen Konfigurationen kann die Datei den Namen shared.lua innerhalb der qb-core Ordner.

Struktur der Arbeitsplatzdefinition

Ein Job in QBCore wird über eine Lua-Tabelle mit bestimmten Schlüsseln definiert. Hier ist die allgemeine Struktur:

["jobname"] = {
label = "Auftragsbezeichnung",
defaultDuty = false,
offDutyPay = false,
grades = {
[0] = {
name = "Auszubildender",
Zahlung = 50
},
[1] = {
name = "Mitarbeiter",
Zahlung = 100
},
-- Zusätzliche Noten...
}
},
  • Jobname: In Skripten verwendeter Identifikator (Kleinbuchstaben ohne Leerzeichen verwenden).
  • Etikett: Anzeigename des Auftrags.
  • defaultDuty: wahr wenn der Spieler standardmäßig im Dienst ist.
  • außerdienstliche Vergütung: wahr wenn der Spieler eine Vergütung erhält, wenn er nicht im Dienst ist.
  • Noten: Tabelle mit den verschiedenen Dienstgraden innerhalb der Stelle.

Hinzufügen Ihres benutzerdefinierten Auftrags

1. Öffnen Sie jobs.lua oder shared.lua

Verwenden Sie einen Texteditor wie Visual Studio Code oder Notepad++, um die Datei zu öffnen.

2. Fügen Sie Ihre Jobdefinition hinzu

Fügen Sie Ihre Auftragsdefinition innerhalb der vorhandenen Aufträge ein. Beispiel: Sie möchten einen Auftrag "Auslieferungsfahrer" erstellen:

["Lieferung"] = {
label = "Lieferfahrer",
defaultDuty = false,
offDutyPay = false,
grades = {
[0] = {
name = "Auszubildender",
Zahlung = 50
},
[1] = {
name = "Fahrer",
Zahlung = 100
},
[2] = {
name = "Senior Driver",
Zahlung = 150
},
[3] = {
name = "Manager",
Zahlung = 200,
isBoss = true
}
}
},
  • Jobname: "Lieferung" (wird in Skripten und in der Datenbank verwendet).
  • Etikett: "Auslieferungsfahrer" (wird den Spielern angezeigt).
  • defaultDuty: Einstellen auf falsch also müssen die Spieler die Zeit einhalten.
  • außerdienstliche Vergütung: Einstellen auf falsch Inaktivierung des Gehalts in der Freizeit.
  • Noten: Definieren Sie Ränge von 0 aufwärts.

3. Speichern Sie die Datei

Nachdem Sie Ihren Auftrag hinzugefügt haben, speichern Sie die jobs.lua oder shared.lua Datei.

Festsetzung des Lohns

Die Löhne werden im Rahmen der Noten Tabelle für jeden Rang. Die Zahlung Wert bestimmt, wie viel ein Spieler pro Gehaltszyklus verdient, wenn er im Dienst ist.

Beispiel

grades = {
[0] = {
name = "Auszubildender",
Zahlung = 50
},
[1] = {
name = "Fahrer",
Zahlung = 100
},
-- Zusätzliche Noten...
}
  • Zahlung: Der Betrag, der an Spieler dieser Klasse gezahlt wird.

Anpassung der Gehaltszyklen

Die Lohnzyklen werden in der Regel von der qb-paycheck oder eine ähnliche Ressource. Stellen Sie sicher, dass die Ressource korrekt konfiguriert ist, um Zahlungsintervalle zu verarbeiten.

Konfigurieren von Auftragsberechtigungen und Aufgaben

Ränge und Berechtigungen

Jede Jobstufe kann mit bestimmten Berechtigungen versehen werden. Die isBoss Parameter für die Verwaltung von Zuschüssen wie Einstellung und Beförderung.

Beispiel

[3] = {
name = "Manager",
Zahlung = 200,
isBoss = true
}
  • isBoss: Einstellen auf wahr für den höchsten Rang, um die unteren Ränge zu verwalten.

Hinzufügen berufsspezifischer Funktionen

Um spezifische Funktionen für Ihren neuen Job hinzuzufügen (z. B. Zugang zu Fahrzeugen, Uniformen oder Werkzeugen), müssen Sie zusätzliche Skripte konfigurieren.

1. Erstellen Sie ein Job-Skript

Erstellen Sie in Ihrem Ressourcenordner ein neues Skript für Ihren Auftrag:

[Jobs] > qb-delivery

2. Definieren Sie Job-Aktionen

In Ihrem Auftragsskript können Sie Aktionen wie das Starten eines Lieferauftrags, den Zugriff auf ein Fahrzeug usw. definieren.

-- Beispiel: delivery_job.lua

RegisterNetEvent('qb-delivery:startJob')
AddEventHandler('qb-delivery:startJob', function()
local src = Quelle
local Player = QBCore.Functions.GetPlayer(src)
if Player.PlayerData.job.name == 'Lieferung' und Player.PlayerData.job.onduty then
-- Beginn des Zustellungsauftrags
sonst
TriggerClientEvent('QBCore:Notify', src, 'Sie sind kein Lieferfahrer oder nicht im Dienst', 'Fehler')
Ende
Ende)

3. Interaktionspunkte hinzufügen

Nutzen Sie Ressourcen wie qb-ziel um Interaktionspunkte für Ihren Arbeitsplatz zu schaffen, wie z. B. eine Stempeluhr-Station oder eine Fahrzeuggarage.

4. Zuweisung von Uniformen und Fahrzeugen

Konfigurieren Sie Arbeitsuniformen und Fahrzeuge in qb-kleidung und qb-garagen.

Ihren neuen Job testen

1. Starten Sie den Server

Stellen Sie sicher, dass Ihr Server fehlerfrei läuft.

2. Fügen Sie den Auftrag zur Datenbank hinzu

Sie müssen die Aufgabe einem Spieler zuweisen, um sie zu testen.

  • Verwenden von In-Game-Befehlen:bashCode kopieren/setjob [playerID] Lieferung 0
  • Direkte Datenbankeingabe:Aktualisieren Sie gegebenenfalls den Job des Spielers in der Datenbank.

3. Prüfen der Auftragsfunktionalität

  • Auftragszuweisung prüfen:
    • Öffnen Sie Ihr Player-Menü, um sicherzustellen, dass der Auftrag korrekt zugewiesen ist.
  • Prüfung des Status "Dienstbereit:
    • Uhr einschalten, wenn defaultDuty ist falsch.
  • Lohnzahlungen prüfen:
    • Warten Sie einen Lohnzyklus ab, um die Lohnzahlungen zu bestätigen.
  • Job-spezifische Aktionen testen:
    • Versuchen Sie, auf Jobfahrzeuge zuzugreifen oder Missionen zu starten.

Allgemeine Probleme und Fehlerbehebung

Nicht erscheinender oder zuweisbarer Job

  • Job Name prüfenStellen Sie sicher, dass der Jobname in jobs.lua bei der Zuweisung genau übereinstimmt.
  • Datenbank-SynchronisationWenn Sie die Datenbank manuell bearbeiten, stellen Sie sicher, dass Sie den Server oder die Ressource neu starten.

Nicht gezahlte Löhne

  • Status des DiensthabendenBestätigen Sie, dass der Spieler im Dienst ist, wenn außerdienstliche Vergütung ist falsch.
  • Gehaltsscheck Ressource:Vergewissern Sie sich, dass das Paycheck-Skript läuft und korrekt konfiguriert ist.

Berechtigungen funktionieren nicht

  • isBoss ParameterÜberprüfen Sie, dass isBoss für die richtige Klasse eingestellt ist.
  • Ressourcenkonflikte:Prüfen Sie auf Konflikte mit anderen Skripten, die Berechtigungen verwalten.

Fehler beim Serverstart

  • Syntax-FehlerÜberprüfen Sie auf fehlende Kommas, Klammern oder falsche Syntax in jobs.lua.
  • Abhängigkeiten von Ressourcen:Stellen Sie sicher, dass alle erforderlichen Ressourcen in der richtigen Reihenfolge gestartet werden.

Schlussfolgerung

Das Erstellen von benutzerdefinierten Jobs in QBCore ermöglicht es Ihnen, die Rollenspielmöglichkeiten Ihres Servers erheblich zu erweitern. Wenn Sie diese Anleitung befolgen, sollten Sie nun in der Lage sein, neue Jobs hinzuzufügen, Löhne festzulegen, Berechtigungen zu konfigurieren und allgemeine Probleme zu beheben. Ihre Spieler werden die neuen Rollen und die Tiefe, die sie dem Spielerlebnis verleihen, zu schätzen wissen.


Weitere Tutorials und Ressourcen finden Sie auf qbcore.net und in unseren Community-Foren, wo Sie Unterstützung und Zusammenarbeit finden.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Erhalten Sie 20% Rabatt auf alle Full QBCore Server
de_DE_formalDeutsch (Sie)