Welkom bij deze gedetailleerde tutorial over het maken van een aangepaste taak in QBCorehet framework dat veel wordt gebruikt voor FiveM roleplay servers. Deze handleiding leidt je door het proces van het toevoegen van een nieuwe taak via gedeeld.lua
lonen instellen en functiespecifieke rechten en taken configureren.
Inleiding
Aangepaste beroepen maken verbetert de roleplay-ervaring door spelers unieke rollen en verantwoordelijkheden te geven. Of je nu een nieuwe dienst, wetshandhavingsdivisie of een ander beroep introduceert, deze gids helpt je om het naadloos te integreren in je QBCore-server.
Opdrachten in QBCore begrijpen
In QBCore worden taken gedefinieerd in een gedeeld configuratiebestand dat toegankelijk is voor zowel de server als de client. Elke taak heeft attributen zoals naam, label, standaard dienststatus, rangen en meer. Inzicht in deze attributen is essentieel voor het maken van functionele en uitgebalanceerde jobs.
Een nieuwe taak maken in gedeeld.lua
De gedeeld.lua
Bestand
De gedeeld.lua
bestand bevat de definities voor alle taken. Je vindt het in de volgende map:
[qb] > qb-kern > gedeeld > jobs.lua
Opmerking: In sommige instellingen kan het bestand de naam
gedeeld.lua
binnen deqb-kern
map.
Functiedefinitiestructuur
Een taak in QBCore wordt gedefinieerd met behulp van een Lua-tabel met specifieke sleutels. Dit is de algemene structuur:
["jobname"] = {
label = "Taaklabel",
defaultDuty = false,
offDutyPay = false,
rangen = {
[0] = {
naam = "Stagiair",
betaling = 50
},
[1] = {
naam = "Werknemer",
betaling = 100
},
-- Extra cijfers...
}
},
- functienaam: Identificatiecode gebruikt in scripts (gebruik kleine letters zonder spaties).
- label: Weergavenaam van de taak.
- defaultDuty:
Echt
als de speler standaard dienst heeft. - offDutyPay:
Echt
als de speler betaling ontvangt wanneer hij niet in dienst is. - rangen: Tabel die de verschillende rangen binnen de functie definieert.
Uw aangepaste taak toevoegen
1. Open banen.lua
of gedeeld.lua
Gebruik een teksteditor zoals Visual Studio Code of Notepad++ om het bestand te openen.
2. Uw taakdefinitie toevoegen
Voeg uw taakdefinitie in binnen de bestaande taken. Om bijvoorbeeld een job "Koerier" te maken:
["levering"] = {
label = "Bezorger",
defaultDuty = false,
offDutyPay = false,
rangen = {
[0] = {
naam = "Stagiair",
betaling = 50
},
[1] = {
naam = "Chauffeur",
betaling = 100
},
[2] = {
naam = "Senior Bestuurder",
betaling = 150
},
[3] = {
naam = "Manager",
betaling = 200,
isBoss = true
}
}
},
- functienaam:
"levering"
(gebruikt in scripts en database). - label:
"Bezorger"
(weergegeven aan spelers). - defaultDuty: Instellen op
vals
dus spelers moeten inklokken. - offDutyPay: Instellen op
vals
om het loon buiten diensttijd uit te schakelen. - rangen: Definieer rangen van 0 naar boven.
3. Sla het bestand op
Nadat u uw taak hebt toegevoegd, slaat u de banen.lua
of gedeeld.lua
bestand.
Het loon bepalen
De lonen worden vastgesteld binnen de rangen
tabel voor elke rang. De betaling
waarde bepaalt hoeveel een speler verdient per looncyclus tijdens dienst.
Voorbeeld
rangen = {
[0] = {
naam = "Stagiair",
betaling = 50
},
[1] = {
naam = "Chauffeur",
betaling = 100
},
-- Extra cijfers...
}
- betaling: Het bedrag dat wordt betaald aan spelers van die rang.
Looncycli aanpassen
Betaalcycli worden meestal beheerd door de qb-betaalcheque
of vergelijkbare bron. Zorg ervoor dat de bron correct is geconfigureerd om betaalintervallen af te handelen.
Taakmachtigingen en taken configureren
Rangen en machtigingen
Elke functiegroep kan specifieke rechten hebben. De isBoss
Parametersubsidiebeheer, zoals aannemen en promoten.
Voorbeeld
[3] = {
naam = "Manager",
betaling = 200,
isBoss = true
}
- isBoss: Instellen op
Echt
voor de hoogste rang om lagere rangen te beheren.
Taakspecifieke functies toevoegen
Om functionaliteiten toe te voegen die specifiek zijn voor je nieuwe functie (zoals toegang tot voertuigen, uniformen of gereedschap), moet je extra scripts configureren.
1. Een taakscript maken
Maak in je resources-map een nieuw script voor je taak:
[jobs] > qb-levering
2. Taakacties definiëren
In je jobscript kun je acties definiëren zoals het starten van een leveringsmissie, toegang krijgen tot een voertuig, enzovoort.
-- Voorbeeld: delivery_job.lua
RegistreerNetEvent('qb-levering:startJob')
AddEventHandler('qb-levering:startJob', functie()
lokaal src = bron
lokale Speler = QBCore.Functions.GetPlayer(src)
als Player.PlayerData.job.name == 'bezorgen' en Player.PlayerData.job.onduty dan
-- Start leveringsmissie
anders
TriggerClientEvent('QBCore:Notify', src, 'Je bent geen bezorger of je hebt geen dienst', 'error')
einde
einde)
3. Interactiepunten toevoegen
Gebruik bronnen zoals qb-doel
om interactiepunten voor je baan te maken, zoals een inklokstation of een autogarage.
4. Uniformen en voertuigen toewijzen
Werkuniformen en voertuigen configureren in qb-kleding
en qb-garages
respectievelijk.
Je nieuwe baan testen
1. Start de server
Controleer of je server zonder fouten draait.
2. De taak toevoegen aan de database
Je moet de taak aan een speler toewijzen om hem te testen.
- Opdrachten in de game gebruiken:bashCode kopieren
/setjob [playerID] levering 0
- Directe invoer in database:Werk indien nodig de baan van de speler bij in de database.
3. Functie controleren
- Taak toewijzing controleren:
- Open het spelersmenu om te controleren of de taak correct is toegewezen.
- Test diensttoestand:
- Klok in als
defaultDuty
isvals
.
- Klok in als
- Loonbetalingen controleren:
- Wacht op een looncyclus om loonbetalingen te bevestigen.
- Test taakspecifieke acties:
- Probeer toegang te krijgen tot werkvoertuigen of missies te starten.
Veelvoorkomende problemen en probleemoplossing
Taak verschijnt niet of is niet toewijsbaar
- Jobnaam controlerenZorg ervoor dat de taaknaam in
banen.lua
komt exact overeen bij het toewijzen. - Database synchroniseren:Als je de database handmatig bewerkt, moet je de server of bron opnieuw opstarten.
Lonen die niet worden uitbetaald
- Status tijdens dienstBevestig dat de speler dienst heeft als
offDutyPay
isvals
. - Salaris bronControleer of het paycheck-script draait en correct is geconfigureerd.
Machtigingen werken niet
- isBoss ParameterControleer of
isBoss
is ingesteld voor de juiste graad. - Conflicten over hulpbronnen:Controleer op conflicten met andere scripts die rechten beheren.
Fouten bij het starten van de server
- SyntaxfoutenControleer op ontbrekende komma's, haakjes of onjuiste zinsbouw in
banen.lua
. - BronafhankelijkhedenZorg ervoor dat alle benodigde bronnen in de juiste volgorde worden gestart.
Conclusie
Met het maken van aangepaste banen in QBCore kun je de mogelijkheden voor rollenspel op je server aanzienlijk uitbreiden. Als je deze handleiding volgt, kun je nu nieuwe banen toevoegen, salarissen instellen, machtigingen configureren en veelvoorkomende problemen oplossen. Je spelers zullen de nieuwe rollen en de diepte die ze toevoegen aan de spelervaring waarderen.