Hallo FiveM-spelers! Welkom bij deze tutorial over het converteren van ESX-scripts naar QBCore (en vice versa). Als u bekend bent met FiveM, weet u waarschijnlijk dat ESX een van de meest populaire raamwerken is die worden gebruikt voor het maken van scripts en mods. Onlangs is echter een nieuw raamwerk genaamd QBCore aan populariteit gewonnen, dat een reeks opwindende functies en verbeteringen biedt.
Het converteren van uw ESX-scripts naar QBCore kan vele voordelen met zich meebrengen, zoals verbeterde prestaties, verbeterde functionaliteit en toegang tot een groeiende gemeenschap van QBCore-ontwikkelaars.
NIEUW: We hebben een conversietool gelanceerd – klik hier om deze te bekijken!
Inhoudsopgave
Volledige lijst met functies
Dit is een lijst voor de conversie van scripts (functies voor client en server).
Bijgewerkt: Oktober 2023
Klantzijde
esx:onPlayerDeath -> ziekenhuis:server:SetDeathStatus esx:playerLoaded -> QBCore:Client:OnPlayerLoaded esx:showAdvancedNotification -> QBCore:Notify esx:showHelpNotification -> QBCore:Notify esx:showNotification -> QBCore:Notify ESX.GetPlayerData -> QBCore.Functions.GetPlayerData ESX.IsPlayerLoaded -> Geen ESX.SetPlayerData -> QBCore:Player:SetPlayerData ESX.TriggerServerCallback -> QBCore.Functions.TriggerCallback ESX.Game.DeleteObject -> Geen (Kan FiveM native DeleteEntity gebruiken) ESX.Game.DeleteVehicle -> QBCore.Functions.DeleteVehicle ESX.Game.GetClosestObject -> Geen (Kan FiveM native GetClosestObjectOfType gebruiken) ESX.Game.GetClosestPed -> QBCore.Functions.GetClosestPed ESX.Game.GetClosestPlayer -> QBCore.Functions.GetClosestPlayer ESX.Game.GetClosestVehicle -> QBCore.Functions.GetClosestVehicle ESX.Game.GetObjects -> Geen (gebruikt opsomming) ESX.Game.GetPedMugshot -> Geen (Kan FiveM native RegisterPedheadshot gebruiken) ESX.Game.GetPeds -> Geen (gebruikt opsomming) ESX.Game.GetPlayers -> QBCore.Functions.GetPlayers ESX.Game.GetPlayersInArea -> Geen (gebruikt opsomming) ESX.Game.GetVehicleInDirection -> Geen (gebruikt ray casting) ESX.Game.GetVehicles -> QBCore.Functions.GetVehicles ESX.Game.GetVehiclesInArea -> Geen (gebruikt opsomming) ESX.Game.IsSpawnPointClear -> Geen (gebruikt getvehiclesinarea) ESX.Game.SetVehicleProperties -> QBCore.Functions.SetVehicleProperties ESX.Game.GetVehicleProperties -> QBCore.Functions.GetVehicleProperties ESX.Game.SpawnLocalObject -> Geen (doe geen moeite) ESX.Game.SpawnLocalVehicle -> Geen (doe geen moeite) ESX.Game.SpawnObject -> Geen (Kan FiveM Native CreateObject gebruiken) ESX.Game.SpawnVehicle -> QBCore.Functions.SpawnVehicle ESX.Game.Teleport -> (Kan FiveM Native SetEntityCoords en SetEntityHeading gebruiken) ESX.Game.Utils.DrawText3D -> QBCore.Functions.DrawText3D
Server
ESX.CreatePickup -> Geen (irrelevant en gedaan via qb-inventory) ESX.GetItemLabel -> Geen (Geeft alleen het label van het item) ESX.GetPlayerFromId -> QBCore.Functions.GetPlayer ESX.GetPlayerFromIdentifier -> QBCore.Functions.GetPlayerByCitizenId ESX.GetPlayers -> QBCore.Functions.GetPlayers ESX.RegisterServerCallback -> QBCore.Functions.CreateCallback ESX.RegisterUsableItem -> QBCore.Functions.CreateUseableItem ESX.SavePlayer -> QBCore.Player.Save ESX.SavePlayers -> Geen (doe geen moeite) ESX.Trace -> Gebruik QBCore.Debug maar doe geen moeite om dit te converteren ESX.UseItem -> QBCore.Functions.UseItem
xPlayer
xPlayer.addAccountMoney -> xPlayer.Functions.AddMoney (account) xPlayer.addInventoryItem -> xPlayer.Functions.AddItem (artikelnaam) xPlayer.addMoney -> xPlayer.Functions.AddMoney (geld) xPlayer.addWeapon -> xPlayer.Functions.AddItem (wapen naam) xPlayer.addWeaponAmmo -> xPlayer.Functions.AddItem (munitie naam) xPlayer.addWeaponComponent -> xPlayer.Functions.AddItem (component naam) xPlayer.canCarryItem -> Geen (xPlayer.Functions.AddItem controleert dit al) xPlayer.canSwapItem -> Geen (xPlayer.Functions.AddItem controleert dit al) xPlayer.getAccount -> Geen (gebruik spelersgegevens) xPlayer.getAccounts -> Geen (gebruik spelersgegevens) xPlayer.getCoords -> Geen (Kan FiveM Native GetEntityCoords gebruiken) xPlayer.getGroup -> xPlayer.Functions.GetPermission xPlayer.getIdentifier -> xPlayer.Functions.GetIdentifier xPlayer.getInventory -> QBCore.Player.LoadInventory xPlayer.getInventoryItem -> xPlayer.Functions.GetItemByName xPlayer.getJob -> Geen (gebruik spelersgegevens) xPlayer.getLoadout -> Geen (fuck loadouts) xPlayer.getMoney -> Geen (gebruik spelersgegevens) xPlayer.getName -> Geen (gebruik spelersgegevens) xPlayer.getWeapon -> xPlayer.Functions.GetItemByName (wapennaam) xPlayer.getWeight -> xPlayer.Player.GetTotalWeight xPlayer.hasWeapon -> xPlayer.Functions.GetItemByName (wapennaam) xPlayer.hasWeaponComponent -> xPlayer.Functions.GetItemByName (naam component) xPlayer.kick -> xPlayer.Functions.Kick xPlayer.removeAccountMoney -> xPlayer.Functions.RemoveMoney (rekening) xPlayer.removeInventoryItem -> xPlayer.Functions.RemoveItem (item naam) xPlayer.removeMoney -> xPlayer.Functions.RemoveMoney (cash) xPlayer.removeWeapon -> xPlayer.Functions.RemoveItem (wapen naam) xPlayer.removeWeaponAmmo -> xPlayer.Functions.RemoveItem (munitie naam) xPlayer.removeWeaponComponent -> xPlayer.Functions.RemoveItem (component naam) xPlayer.setAccountMoney -> xPlayer.Functions.SetMoney (rekening) xPlayer.setCoords -> Geen (gebruikt voor teleporteren) xPlayer.setInventoryItem -> xPlayer.Functions.AddItem (item naam) xPlayer.setJob -> xPlayer.Functions.SetJob xPlayer.setMaxWeight -> Geen (Is ingesteld in qb-core config) xPlayer.setMoney -> xPlayer.Functions.SetMoney xPlayer.setName -> Geen (doe geen moeite) xPlayer.setWeaponTint -> Geen (qb-weapons doet dit) xPlayer.showHelpNotification -> TriggerClientEvent('QBCore:Notify') xPlayer.showNotification -> TriggerClientEvent('QBCore:Notify') xPlayer.triggerEvent -> Geen (niet storen) xPlayer.updateCoords -> Geen (niet storen)
Evenementen
esx:getSharedObject -> QBCore:GetObject esx:setJob -> QBCore:Client:OnJobUpdate esx:onPlayerSpawn -> QBCore:Client:OnPlayerLoaded playerSpawned -> QBCore:Client:OnPlayerLoaded (compatibiliteit met spawnmanager) esx:addInventoryItem -> QBCore:Server:AddItem esx:removeInventoryItem -> QBCore:Server:RemoveItem esx:useItem -> QBCore:Server:UseItem MySQL.Async.fetchScalar() -> exports['ghmattimysql']:scalar() of QBCore.Functions.ExecuteSql(true, MySQL.Async.fetchAll() -> exports['ghmattimysql']:execute() of QBCore.Functions.ExecuteSql(true, MySQL.Async.execute() -> exports['ghmattimysql']:execute() of QBCore.Functions.ExecuteSql(false,
Conversie handleiding
Om de scripts te converteren, gebruik je gewoon de functie die eerder is genoemd. QBCore heeft vergelijkbare functies als ESX, zij het met andere namen.