🧩 Het maken van een Aangepaste Framework Bridge
Dream Bridge ondersteunt standaard ESX, QBCore en QBX. Als je een ander of aangepast framework gebruikt, kun je je eigen aangepaste bridge implementeren om compatibiliteit te garanderen.
Deze handleiding begeleidt je bij het maken van een nieuwe bridge met behulp van de ingebouwde custom
template.
💡 Opmerking: QBX (Qbox) is volledig compatibel met de QBCore bridge. Er is geen aparte implementatie nodig.
📁 Structuur van de Bridge
Alle bridges bevinden zich in de map bridge/
.
Elk framework (bijv. esx
, qbcore
, custom
) heeft zijn eigen submap met:
client.lua
server.lua

De bridge detecteert automatisch je actieve framework via GetResourceState
.
Belangrijk: Als je framework resource hernoemd is (bijv.
es_extended
→roleplay_framework
), kan de automatische detectie mislukken.
🚀 Hoe de aangepaste Bridge te Gebruiken
Gebruik de custom
bridge:
- Je gebruikt een zelfstandig of niet-officieel/niet-ondersteund framework
➡️ Maak een nieuwe bridge op basis van decustom
template. - Je moet iets bewerken/veranderen in een bestaande bridge.
➡️ Probeer eerst de bestaande bridge te bewerken. Bijvoorbeeld: jouw owned_vehicles tabel is anders dan de standaard. In dit geval hoef je alleen de voertuig gerelateerde functies in de bestaande bridge te bewerken. Je hoeft geen nieuwe te maken of alles te bewerken. - Er wordt standaard geen ondersteund framework gedetecteerd.
➡️ Als je je framework resource hebt hernoemd, wordt deze mogelijk niet automatisch gedetecteerd (bijv.es_extended
->roleplay_framework
). In dit geval moet jeGetResourceState
toevoegen aan je hernoemde resource in het juiste bridge bestand.
🛠️ Aan de Slag
- Kopieer de
bridge/custom
map
Hernoem deze om overeen te komen met de naam van jouw aangepaste framework (bijv.bridge/myframework
). - Bewerk zowel
client.lua
alsserver.lua
Implementeer je logica in de gegeven functie stubs. - Pas de framework detectie logica aan
Vervang of breid deGetResourceState
controles uit om jouw aangepaste framework te detecteren.
✅ Voorbeeld: client.lua
if GetResourceState('my_framework') ~= 'started' then return end
DreamFramework.ServerFramework = 'myframework'
DreamFramework.ServerFrameworkLoaded = true
function DreamFramework.showHelpNotification(text)
-- Jouw aangepaste help weergave code
end
function DreamFramework.getPlayerJobName()
return exports['my_framework']:GetJobName()
end
✅ Voorbeeld: server.lua
if GetResourceState('my_framework') ~= 'started' then return end
DreamFramework.ServerFramework = 'myframework'
DreamFramework.ServerFrameworkLoaded = true
function DreamFramework.getPlayerFromId(source)
return exports['my_framework']:GetPlayer(source)
end
function DreamFramework.getPlayerMoney(source, account)
local player = DreamFramework.getPlayerFromId(source)
return player.money or 0
end
🧠 Welke Functies te Implementeren?
Je bridge moet alle functies implementeren die zijn opgenomen in de custom template en alle andere bridges. Dit omvat:
- Speler functies (bijv.
getPlayerFromId
,getPlayerName
) - Functies voor baanbeheer
- Inventaris & geld
- Voertuig eigendom
- Events zoals
OnPlayerLoaded
,OnPlayerJobChange
- Alle andere functies die de bridge heeft...
Controleer de
bridge/custom/client.lua
enbridge/custom/server.lua
bestanden voor de volledige lijst van vereiste functies.
Elke functie in de bridge template moet geïmplementeerd worden in jouw aangepaste bridge.
Als zelfs één functie ontbreekt, zal jouw framework waarschijnlijk meerdere fouten veroorzaken, scripts breken die vertrouwen op die functies, en onverwacht gedrag veroorzaken.
➡️ Controleer bridge/myframework/client.lua
en bridge/myframework/server.lua
om te zorgen voor volledige functie dekking.
Ontbrekende functies = slechte ervaring.
⏰ Event Afhandeling
Sommige events moeten handmatig worden getriggerd voor compatibiliteit:
RegisterNetEvent('myfw:playerLoaded', function(playerId)
OnPlayerLoaded(playerId)
end)
RegisterNetEvent('myfw:jobChanged', function(playerId, newJob)
OnPlayerJobChange(playerId, newJob.name)
end)
💬 Tips
- Gebruik logs zoals
print("[Bridge] Aangepaste bridge geladen")
voor gemakkelijker debuggen. - Test elke functie afzonderlijk in een gecontroleerde omgeving.
- Maak gebruik van de
custom
map als basis — deze is al vooraf ingevuld met alle vereiste stubs.
🙌 Draag Bij aan Jouw Bridge
Heb je een werkende bridge gemaakt voor jouw eigen framework?
Voel je vrij om het met ons te delen — help anderen profiteren van jouw integratie!
🧠 Jouw bijdrage kan onderdeel worden van het officiële project, en je krijgt volledige erkenning voor je werk.
💡 Als je vragen hebt of hulp nodig hebt, neem gerust contact met ons op via onze Discord server.
Veel codeerplezier! 🚀